gecoder-with-gecode 0.9.0 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGES +6 -0
- data/README +1 -1
- data/THANKS +18 -0
- data/example/equation_system.rb +3 -1
- data/example/magic_sequence.rb +3 -1
- data/example/queens.rb +3 -1
- data/example/send_more_money.rb +24 -30
- data/example/send_most_money.rb +15 -26
- data/example/square_tiling.rb +3 -1
- data/example/sudoku-set.rb +3 -1
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/LICENSE +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/Makefile.contribs +0 -0
- data/ext/gecode-2.2.0/Makefile.dep +8056 -0
- data/ext/gecode-2.2.0/Makefile.in +1590 -0
- data/ext/gecode-2.2.0/changelog.in +2698 -0
- data/ext/gecode-2.2.0/configure +13112 -0
- data/ext/gecode-2.2.0/configure.ac +273 -0
- data/ext/gecode-2.2.0/configure.ac.in +269 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/contribs/README +0 -0
- data/ext/gecode-2.2.0/contribs/qecode/Doxyfile +263 -0
- data/ext/gecode-2.2.0/contribs/qecode/Implicative.cc +267 -0
- data/ext/gecode-2.2.0/contribs/qecode/Implicative.hh +164 -0
- data/ext/gecode-2.2.0/contribs/qecode/Makefile.in.in +163 -0
- data/ext/gecode-2.2.0/contribs/qecode/OptVar.cc +82 -0
- data/ext/gecode-2.2.0/contribs/qecode/OptVar.hh +123 -0
- data/ext/gecode-2.2.0/contribs/qecode/Strategy.cc +131 -0
- data/ext/gecode-2.2.0/contribs/qecode/Strategy.hh +91 -0
- data/ext/gecode-2.2.0/contribs/qecode/StrategyNode.cc +62 -0
- data/ext/gecode-2.2.0/contribs/qecode/StrategyNode.hh +47 -0
- data/ext/gecode-2.2.0/contribs/qecode/autom4te.cache/output.0 +2264 -0
- data/ext/gecode-2.2.0/contribs/qecode/autom4te.cache/requests +115 -0
- data/ext/gecode-2.2.0/contribs/qecode/autom4te.cache/traces.0 +57 -0
- data/ext/gecode-2.2.0/contribs/qecode/config.log +147 -0
- data/ext/gecode-2.2.0/contribs/qecode/config.status +817 -0
- data/ext/gecode-2.2.0/contribs/qecode/configure +2264 -0
- data/ext/gecode-2.2.0/contribs/qecode/configure.ac +23 -0
- data/ext/gecode-2.2.0/contribs/qecode/examples/COMPILING +13 -0
- data/ext/gecode-2.2.0/contribs/qecode/examples/MatrixGame.cpp +140 -0
- data/ext/gecode-2.2.0/contribs/qecode/examples/NimFibo.cpp +73 -0
- data/ext/gecode-2.2.0/contribs/qecode/examples/connect-5-3-3-3.cpp +842 -0
- data/ext/gecode-2.2.0/contribs/qecode/examples/network-pricing.cc +146 -0
- data/ext/gecode-2.2.0/contribs/qecode/examples/optim2.cc +149 -0
- data/ext/gecode-2.2.0/contribs/qecode/examples/stress_test.cpp +240 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/contribs/qecode/heap.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/contribs/qecode/myDom.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/contribs/qecode/myspace.cc +0 -0
- data/ext/gecode-2.2.0/contribs/qecode/myspace.hh +68 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/contribs/qecode/qecode.hh +0 -0
- data/ext/gecode-2.2.0/contribs/qecode/qsolver.cc +268 -0
- data/ext/gecode-2.2.0/contribs/qecode/qsolver.hh +46 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/contribs/qecode/shortdesc.ac +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/contribs/qecode/vartype.hh +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/doxygen/doxygen.conf.in +0 -0
- data/ext/gecode-2.2.0/doxygen/doxygen.hh.in +1112 -0
- data/ext/gecode-2.2.0/doxygen/reflection.hh +417 -0
- data/ext/gecode-2.2.0/examples/all-interval.cc +133 -0
- data/ext/gecode-2.2.0/examples/alpha.cc +137 -0
- data/ext/gecode-2.2.0/examples/bacp.cc +521 -0
- data/ext/gecode-2.2.0/examples/baseline.cc +87 -0
- data/ext/gecode-2.2.0/examples/bibd.cc +203 -0
- data/ext/gecode-2.2.0/examples/black-hole.cc +389 -0
- data/ext/gecode-2.2.0/examples/crew.cc +286 -0
- data/ext/gecode-2.2.0/examples/crowded-chess.cc +424 -0
- data/ext/gecode-2.2.0/examples/domino.cc +297 -0
- data/ext/gecode-2.2.0/examples/donald.cc +107 -0
- data/ext/gecode-2.2.0/examples/eq20.cc +125 -0
- data/ext/gecode-2.2.0/examples/golf.cc +297 -0
- data/ext/gecode-2.2.0/examples/golomb-ruler.cc +199 -0
- data/ext/gecode-2.2.0/examples/graph-color.cc +407 -0
- data/ext/gecode-2.2.0/examples/grocery.cc +113 -0
- data/ext/gecode-2.2.0/examples/hamming.cc +129 -0
- data/ext/gecode-2.2.0/examples/ind-set.cc +143 -0
- data/ext/gecode-2.2.0/examples/javascript.cc +163 -0
- data/ext/gecode-2.2.0/examples/kakuro.cc +686 -0
- data/ext/gecode-2.2.0/examples/knights.cc +220 -0
- data/ext/gecode-2.2.0/examples/langford-number.cc +225 -0
- data/ext/gecode-2.2.0/examples/magic-sequence.cc +146 -0
- data/ext/gecode-2.2.0/examples/magic-square.cc +138 -0
- data/ext/gecode-2.2.0/examples/minesweeper.cc +304 -0
- data/ext/gecode-2.2.0/examples/money.cc +105 -0
- data/ext/gecode-2.2.0/examples/nonogram.cc +492 -0
- data/ext/gecode-2.2.0/examples/ortho-latin.cc +172 -0
- data/ext/gecode-2.2.0/examples/partition.cc +141 -0
- data/ext/gecode-2.2.0/examples/pentominoes.cc +949 -0
- data/ext/gecode-2.2.0/examples/perfect-square.cc +311 -0
- data/ext/gecode-2.2.0/examples/photo.cc +170 -0
- data/ext/gecode-2.2.0/examples/queen-armies.cc +284 -0
- data/ext/gecode-2.2.0/examples/queens.cc +147 -0
- data/ext/gecode-2.2.0/examples/queens.js +57 -0
- data/ext/gecode-2.2.0/examples/sports-league.cc +342 -0
- data/ext/gecode-2.2.0/examples/steiner.cc +192 -0
- data/ext/gecode-2.2.0/examples/stress-distinct.cc +90 -0
- data/ext/gecode-2.2.0/examples/stress-domain.cc +99 -0
- data/ext/gecode-2.2.0/examples/stress-element.cc +112 -0
- data/ext/gecode-2.2.0/examples/stress-exec.cc +97 -0
- data/ext/gecode-2.2.0/examples/stress-extensional.cc +134 -0
- data/ext/gecode-2.2.0/examples/stress-linear-bool.cc +97 -0
- data/ext/gecode-2.2.0/examples/stress-min.cc +98 -0
- data/ext/gecode-2.2.0/examples/stress-search.cc +88 -0
- data/ext/gecode-2.2.0/examples/sudoku.cc +2341 -0
- data/ext/gecode-2.2.0/examples/support.hh +338 -0
- data/ext/gecode-2.2.0/examples/support/example.cc +64 -0
- data/ext/gecode-2.2.0/examples/support/example.icc +321 -0
- data/ext/gecode-2.2.0/examples/support/options.cc +226 -0
- data/ext/gecode-2.2.0/examples/support/options.icc +276 -0
- data/ext/gecode-2.2.0/examples/tsp.cc +317 -0
- data/ext/gecode-2.2.0/examples/warehouses.cc +191 -0
- data/ext/gecode-2.2.0/gecode.m4 +1046 -0
- data/ext/gecode-2.2.0/gecode/cpltset.hh +797 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/array.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/array.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/bddmanager.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/bddmanager.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/branch.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/branch.hh +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/branch/select-val.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/branch/select-view.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/constraints/atmost.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/constraints/cardinality.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/constraints/distinct.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/constraints/dom.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/constraints/partition.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/constraints/rangeroots.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/constraints/rel.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/constraints/select.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/constraints/singleton.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/exception.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/propagators.hh +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/propagators/binary.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/propagators/nary.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/propagators/naryone.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/propagators/narytwo.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/propagators/singleton.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/propagators/unary.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/support.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/support.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/var-imp.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/var-imp/cpltset.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/var-imp/cpltset.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/var-imp/cpltset.vis +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/var/cpltset.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/var/cpltset.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/view.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/view/cpltset.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/view/print.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist.hh +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/addchild.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/addchild.hh +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/addvisualisationdialog.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/addvisualisationdialog.hh +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/better.hh +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/config.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/config.hh +0 -0
- data/ext/gecode-2.2.0/gecode/gist/drawingcursor.cc +281 -0
- data/ext/gecode-2.2.0/gecode/gist/drawingcursor.hh +103 -0
- data/ext/gecode-2.2.0/gecode/gist/drawingcursor.icc +70 -0
- data/ext/gecode-2.2.0/gecode/gist/gecodelogo.cc +672 -0
- data/ext/gecode-2.2.0/gecode/gist/gecodelogo.hh +64 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/gist.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/gist.icc +0 -0
- data/ext/gecode-2.2.0/gecode/gist/layoutcursor.cc +115 -0
- data/ext/gecode-2.2.0/gecode/gist/layoutcursor.hh +75 -0
- data/ext/gecode-2.2.0/gecode/gist/layoutcursor.icc +48 -0
- data/ext/gecode-2.2.0/gecode/gist/mainwindow.cc +274 -0
- data/ext/gecode-2.2.0/gecode/gist/mainwindow.hh +86 -0
- data/ext/gecode-2.2.0/gecode/gist/node.cc +148 -0
- data/ext/gecode-2.2.0/gecode/gist/node.hh +117 -0
- data/ext/gecode-2.2.0/gecode/gist/node.icc +99 -0
- data/ext/gecode-2.2.0/gecode/gist/nodecursor.cc +123 -0
- data/ext/gecode-2.2.0/gecode/gist/nodecursor.hh +147 -0
- data/ext/gecode-2.2.0/gecode/gist/nodecursor.icc +122 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/nodevisitor.hh +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/nodevisitor.icc +0 -0
- data/ext/gecode-2.2.0/gecode/gist/preferences.cc +120 -0
- data/ext/gecode-2.2.0/gecode/gist/preferences.hh +79 -0
- data/ext/gecode-2.2.0/gecode/gist/spacenode.cc +468 -0
- data/ext/gecode-2.2.0/gecode/gist/spacenode.hh +227 -0
- data/ext/gecode-2.2.0/gecode/gist/spacenode.icc +170 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/test.cc +0 -0
- data/ext/gecode-2.2.0/gecode/gist/textoutput.cc +134 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/textoutput.hh +0 -0
- data/ext/gecode-2.2.0/gecode/gist/treecanvas.cc +1343 -0
- data/ext/gecode-2.2.0/gecode/gist/treecanvas.hh +361 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/ui_addchild.hh +0 -0
- data/ext/gecode-2.2.0/gecode/gist/ui_addvisualisationdialog.hh +165 -0
- data/ext/gecode-2.2.0/gecode/gist/visualisation/intvaritem.cc +192 -0
- data/ext/gecode-2.2.0/gecode/gist/visualisation/intvaritem.hh +75 -0
- data/ext/gecode-2.2.0/gecode/gist/visualisation/setvaritem.cc +235 -0
- data/ext/gecode-2.2.0/gecode/gist/visualisation/setvaritem.hh +77 -0
- data/ext/gecode-2.2.0/gecode/gist/visualisation/vararrayitem.hh +125 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/visualisation/vararrayview.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/visualisation/vararrayview.hh +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/visualisation/vararrayviewt.hh +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/visualisation/varitem.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/visualisation/varitem.hh +0 -0
- data/ext/gecode-2.2.0/gecode/gist/visualnode.cc +474 -0
- data/ext/gecode-2.2.0/gecode/gist/visualnode.hh +226 -0
- data/ext/gecode-2.2.0/gecode/gist/visualnode.icc +198 -0
- data/ext/gecode-2.2.0/gecode/gist/zoomToFitIcon.icc +113 -0
- data/ext/gecode-2.2.0/gecode/int.hh +2116 -0
- data/ext/gecode-2.2.0/gecode/int/arithmetic.cc +237 -0
- data/ext/gecode-2.2.0/gecode/int/arithmetic.hh +827 -0
- data/ext/gecode-2.2.0/gecode/int/arithmetic/abs.icc +278 -0
- data/ext/gecode-2.2.0/gecode/int/arithmetic/divmod.icc +496 -0
- data/ext/gecode-2.2.0/gecode/int/arithmetic/max.icc +474 -0
- data/ext/gecode-2.2.0/gecode/int/arithmetic/mult.icc +858 -0
- data/ext/gecode-2.2.0/gecode/int/arithmetic/sqr.icc +464 -0
- data/ext/gecode-2.2.0/gecode/int/arithmetic/sqrt.icc +260 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/array.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/array.icc +0 -0
- data/ext/gecode-2.2.0/gecode/int/bool.cc +734 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/bool.hh +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/bool/base.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/bool/eq.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/bool/eqv.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/bool/lq.icc +0 -0
- data/ext/gecode-2.2.0/gecode/int/bool/or.icc +1000 -0
- data/ext/gecode-2.2.0/gecode/int/branch.cc +167 -0
- data/ext/gecode-2.2.0/gecode/int/branch.hh +587 -0
- data/ext/gecode-2.2.0/gecode/int/branch/create-branch.icc +190 -0
- data/ext/gecode-2.2.0/gecode/int/branch/select-val.icc +340 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/branch/select-view.icc +0 -0
- data/ext/gecode-2.2.0/gecode/int/channel.cc +165 -0
- data/ext/gecode-2.2.0/gecode/int/channel.hh +259 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/channel/base.icc +0 -0
- data/ext/gecode-2.2.0/gecode/int/channel/dom.icc +348 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/channel/link-multi.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/channel/link-multi.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/channel/link-single.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/channel/link-single.icc +0 -0
- data/ext/gecode-2.2.0/gecode/int/channel/val.icc +278 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/circuit.cc +0 -0
- data/ext/gecode-2.2.0/gecode/int/circuit.hh +175 -0
- data/ext/gecode-2.2.0/gecode/int/circuit/base.icc +266 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/circuit/dom.icc +0 -0
- data/ext/gecode-2.2.0/gecode/int/circuit/val.icc +126 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/count.cc +0 -0
- data/ext/gecode-2.2.0/gecode/int/count.hh +487 -0
- data/ext/gecode-2.2.0/gecode/int/count/int.icc +620 -0
- data/ext/gecode-2.2.0/gecode/int/count/rel.icc +144 -0
- data/ext/gecode-2.2.0/gecode/int/count/view.icc +449 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/cumulatives.cc +0 -0
- data/ext/gecode-2.2.0/gecode/int/cumulatives.hh +138 -0
- data/ext/gecode-2.2.0/gecode/int/cumulatives/val.icc +455 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/distinct.cc +0 -0
- data/ext/gecode-2.2.0/gecode/int/distinct.hh +341 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/distinct/bilink.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/distinct/bnd.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/distinct/combptr.icc +0 -0
- data/ext/gecode-2.2.0/gecode/int/distinct/dom.icc +752 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/distinct/edge.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/distinct/node.icc +0 -0
- data/ext/gecode-2.2.0/gecode/int/distinct/ter-dom.icc +136 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/distinct/val.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/dom.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/dom.hh +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/dom/range.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/dom/spec.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/element.cc +0 -0
- data/ext/gecode-2.2.0/gecode/int/element.hh +239 -0
- data/ext/gecode-2.2.0/gecode/int/element/int.icc +444 -0
- data/ext/gecode-2.2.0/gecode/int/element/view.icc +584 -0
- data/ext/gecode-2.2.0/gecode/int/exception.icc +174 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/extensional.cc +0 -0
- data/ext/gecode-2.2.0/gecode/int/extensional.hh +415 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/extensional/base.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/extensional/basic.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/extensional/bitset.icc +0 -0
- data/ext/gecode-2.2.0/gecode/int/extensional/dfa.cc +565 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/extensional/dfa.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/extensional/incremental.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/extensional/layered-graph.icc +0 -0
- data/ext/gecode-2.2.0/gecode/int/extensional/tuple-set.cc +285 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/extensional/tuple-set.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/gcc.cc +0 -0
- data/ext/gecode-2.2.0/gecode/int/gcc.hh +329 -0
- data/ext/gecode-2.2.0/gecode/int/gcc/bnd.icc +660 -0
- data/ext/gecode-2.2.0/gecode/int/gcc/dom.icc +531 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/gcc/gccbndsup.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/gcc/graphsup.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/gcc/lbc.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/gcc/occur.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/gcc/ubc.icc +0 -0
- data/ext/gecode-2.2.0/gecode/int/gcc/val.icc +400 -0
- data/ext/gecode-2.2.0/gecode/int/int-set.cc +157 -0
- data/ext/gecode-2.2.0/gecode/int/int-set.icc +195 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/limits.icc +0 -0
- data/ext/gecode-2.2.0/gecode/int/linear-bool.cc +235 -0
- data/ext/gecode-2.2.0/gecode/int/linear-int.cc +272 -0
- data/ext/gecode-2.2.0/gecode/int/linear.hh +1849 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/linear/bool-int.icc +0 -0
- data/ext/gecode-2.2.0/gecode/int/linear/bool-post.cc +433 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/linear/bool-scale.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/linear/bool-view.icc +0 -0
- data/ext/gecode-2.2.0/gecode/int/linear/int-bin.icc +605 -0
- data/ext/gecode-2.2.0/gecode/int/linear/int-dom.icc +539 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/linear/int-nary.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/linear/int-noview.icc +0 -0
- data/ext/gecode-2.2.0/gecode/int/linear/int-post.cc +493 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/linear/int-ter.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/linear/post.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/propagator.icc +0 -0
- data/ext/gecode-2.2.0/gecode/int/rel.cc +420 -0
- data/ext/gecode-2.2.0/gecode/int/rel.hh +627 -0
- data/ext/gecode-2.2.0/gecode/int/rel/eq.icc +885 -0
- data/ext/gecode-2.2.0/gecode/int/rel/lex.icc +275 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/rel/lq-le.icc +0 -0
- data/ext/gecode-2.2.0/gecode/int/rel/nq.icc +118 -0
- data/ext/gecode-2.2.0/gecode/int/sorted.cc +81 -0
- data/ext/gecode-2.2.0/gecode/int/sorted.hh +118 -0
- data/ext/gecode-2.2.0/gecode/int/sorted/matching.icc +173 -0
- data/ext/gecode-2.2.0/gecode/int/sorted/narrowing.icc +249 -0
- data/ext/gecode-2.2.0/gecode/int/sorted/order.icc +212 -0
- data/ext/gecode-2.2.0/gecode/int/sorted/propagate.icc +702 -0
- data/ext/gecode-2.2.0/gecode/int/sorted/sortsup.icc +563 -0
- data/ext/gecode-2.2.0/gecode/int/support-values.hh +158 -0
- data/ext/gecode-2.2.0/gecode/int/support-values.icc +203 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/unshare.cc +0 -0
- data/ext/gecode-2.2.0/gecode/int/var-imp.icc +745 -0
- data/ext/gecode-2.2.0/gecode/int/var-imp/bool.cc +105 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/var-imp/bool.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/var-imp/bool.vis +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/var-imp/delta.icc +0 -0
- data/ext/gecode-2.2.0/gecode/int/var-imp/int.cc +408 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/var-imp/int.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/var-imp/int.vis +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/var/bool.cc +0 -0
- data/ext/gecode-2.2.0/gecode/int/var/bool.icc +128 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/var/int.cc +0 -0
- data/ext/gecode-2.2.0/gecode/int/var/int.icc +153 -0
- data/ext/gecode-2.2.0/gecode/int/view.icc +1918 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/view/bool.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/view/constint.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/view/int.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/view/iter.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/view/minus.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/view/offset.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/view/print.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/view/rtest.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/view/scale.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/view/zero.icc +0 -0
- data/ext/gecode-2.2.0/gecode/iter.hh +98 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-add.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-append.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-array.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-cache.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-compl.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-diff.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-empty.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-inter.icc +0 -0
- data/ext/gecode-2.2.0/gecode/iter/ranges-map.icc +260 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-minmax.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-minus.icc +0 -0
- data/ext/gecode-2.2.0/gecode/iter/ranges-negative.icc +137 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-offset.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-operations.icc +0 -0
- data/ext/gecode-2.2.0/gecode/iter/ranges-positive.icc +139 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-scale.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-singleton-append.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-singleton.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-size.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-union.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-values.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/values-array.icc +0 -0
- data/ext/gecode-2.2.0/gecode/iter/values-inter.icc +130 -0
- data/ext/gecode-2.2.0/gecode/iter/values-map.icc +136 -0
- data/ext/gecode-2.2.0/gecode/iter/values-minus.icc +130 -0
- data/ext/gecode-2.2.0/gecode/iter/values-negative.icc +116 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/values-offset.icc +0 -0
- data/ext/gecode-2.2.0/gecode/iter/values-positive.icc +123 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/values-ranges.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/values-singleton.icc +0 -0
- data/ext/gecode-2.2.0/gecode/iter/values-union.icc +137 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/values-unique.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/virtual-ranges-compl.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/virtual-ranges-inter.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/virtual-ranges-union.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/virtual-ranges.icc +0 -0
- data/ext/gecode-2.2.0/gecode/kernel.hh +188 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/kernel/advisor.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/kernel/array.icc +0 -0
- data/ext/gecode-2.2.0/gecode/kernel/branching.icc +433 -0
- data/ext/gecode-2.2.0/gecode/kernel/core.cc +474 -0
- data/ext/gecode-2.2.0/gecode/kernel/core.icc +2311 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/kernel/exception.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/kernel/macros.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/kernel/memory-manager.cc +0 -0
- data/ext/gecode-2.2.0/gecode/kernel/memory-manager.icc +454 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/kernel/modevent.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/kernel/propagator.icc +0 -0
- data/ext/gecode-2.2.0/gecode/kernel/reflection.cc +951 -0
- data/ext/gecode-2.2.0/gecode/kernel/reflection.icc +1213 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/kernel/shared-array.icc +0 -0
- data/ext/gecode-2.2.0/gecode/kernel/var-imp.icc +433 -0
- data/ext/gecode-2.2.0/gecode/kernel/var-map.cc +269 -0
- data/ext/gecode-2.2.0/gecode/kernel/var-map.icc +230 -0
- data/ext/gecode-2.2.0/gecode/kernel/var-traits.icc +79 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/kernel/var-type.cc +0 -0
- data/ext/gecode-2.2.0/gecode/kernel/var-type.icc +915 -0
- data/ext/gecode-2.2.0/gecode/kernel/var.icc +114 -0
- data/ext/gecode-2.2.0/gecode/kernel/view.icc +413 -0
- data/ext/gecode-2.2.0/gecode/minimodel.hh +1206 -0
- data/ext/gecode-2.2.0/gecode/minimodel/arithmetic.icc +118 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/minimodel/bool-expr.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/minimodel/bool-expr.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/minimodel/bool-rel.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/minimodel/exception.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/minimodel/lin-expr.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/minimodel/lin-rel.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/minimodel/matrix.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/minimodel/reg.cc +0 -0
- data/ext/gecode-2.2.0/gecode/search.hh +759 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/search/bab.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/search/bab.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/search/dfs.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/search/dfs.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/search/engine-ctrl.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/search/lds.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/search/lds.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/search/options.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/search/options.icc +0 -0
- data/ext/gecode-2.2.0/gecode/search/reco-stack.icc +277 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/search/restart.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/search/statistics.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/search/stop.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/search/stop.icc +0 -0
- data/ext/gecode-2.2.0/gecode/serialization.hh +149 -0
- data/ext/gecode-2.2.0/gecode/serialization/boost.cc +78 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/serialization/boost.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/serialization/flatzinc.cc +0 -0
- data/ext/gecode-2.2.0/gecode/serialization/javascript.cc +343 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/serialization/javascript.hh +0 -0
- data/ext/gecode-2.2.0/gecode/serialization/register.cc +8498 -0
- data/ext/gecode-2.2.0/gecode/set.hh +970 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/array.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/array.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/branch.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/branch.hh +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/branch/select-val.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/branch/select-view.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/cardinality.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/convex.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/convex.hh +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/convex/conv.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/convex/conv.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/convex/hull.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/convex/hull.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/distinct.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/distinct.hh +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/distinct/atmostOne.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/distinct/atmostOne.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/dom.cc +0 -0
- data/ext/gecode-2.2.0/gecode/set/element.cc +135 -0
- data/ext/gecode-2.2.0/gecode/set/element.hh +233 -0
- data/ext/gecode-2.2.0/gecode/set/element/disjoint.cc +308 -0
- data/ext/gecode-2.2.0/gecode/set/element/disjoint.icc +75 -0
- data/ext/gecode-2.2.0/gecode/set/element/idxarray.hh +113 -0
- data/ext/gecode-2.2.0/gecode/set/element/idxarray.icc +155 -0
- data/ext/gecode-2.2.0/gecode/set/element/inter.icc +348 -0
- data/ext/gecode-2.2.0/gecode/set/element/union.icc +371 -0
- data/ext/gecode-2.2.0/gecode/set/element/unionConst.icc +334 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/exception.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/int.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/int.hh +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/int/card.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/int/channel-bool.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/int/channel-int.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/int/match.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/int/minmax.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/int/weights.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/limits.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors-compiler.hh +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors.cc +0 -0
- data/ext/gecode-2.2.0/gecode/set/projectors.hh +438 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors/compiler.cc +0 -0
- data/ext/gecode-2.2.0/gecode/set/projectors/formula.cc +312 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors/formula.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors/projector-set.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors/projector-set.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors/projector.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors/projector.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors/propagator.hh +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors/propagator/card.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors/propagator/nary.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors/propagator/re-nary.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors/propagator/re-nary.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors/set-expr.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors/set-expr.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/propagator.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel-op-const.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel-op.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel-op.hh +0 -0
- data/ext/gecode-2.2.0/gecode/set/rel-op/common.icc +613 -0
- data/ext/gecode-2.2.0/gecode/set/rel-op/inter.icc +452 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel-op/partition.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel-op/post.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel-op/subofunion.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel-op/superofinter.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel-op/union.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel.hh +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel/common.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel/eq.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel/nosubset.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel/nq.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel/re-eq.icc +0 -0
- data/ext/gecode-2.2.0/gecode/set/rel/re-subset.icc +174 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel/subset.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/sequence.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/sequence.hh +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/sequence/common.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/sequence/seq-u.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/sequence/seq-u.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/sequence/seq.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/sequence/seq.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/var-imp.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/var-imp/delta.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/var-imp/integerset.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/var-imp/integerset.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/var-imp/iter.icc +0 -0
- data/ext/gecode-2.2.0/gecode/set/var-imp/set.cc +215 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/var-imp/set.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/var-imp/set.vis +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/var/set.cc +0 -0
- data/ext/gecode-2.2.0/gecode/set/var/set.icc +303 -0
- data/ext/gecode-2.2.0/gecode/set/view.icc +1451 -0
- data/ext/gecode-2.2.0/gecode/set/view/complement.icc +614 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/view/const.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/view/offset.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/view/print.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/view/set.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/view/singleton.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support.hh +0 -0
- data/ext/gecode-2.2.0/gecode/support/block-allocator.icc +159 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/AUTHORS +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/ChangeLog +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/NEWS +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/README +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/bdd.h +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/bddio.c +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/bddop.c +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/bddtree.h +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/bvec.c +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/bvec.h +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/cache.c +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/cache.h +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/config.h +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/cppext.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/fdd.c +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/fdd.h +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/imatrix.c +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/imatrix.h +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/kernel.c +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/kernel.h +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/pairs.c +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/prime.c +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/prime.h +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/reorder.c +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/tree.c +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/cast.icc +0 -0
- data/ext/gecode-2.2.0/gecode/support/config.icc.in +83 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/dynamic-array.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/dynamic-stack.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/exception.cc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/exception.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/macros.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/map.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/marked-pointer.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/memory.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/random.icc +0 -0
- data/ext/gecode-2.2.0/gecode/support/sentinel-stack.icc +138 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/sort.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/static-pqueue.icc +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/static-stack.icc +0 -0
- data/ext/gecode-2.2.0/gecode/support/symbol.cc +241 -0
- data/ext/gecode-2.2.0/gecode/support/symbol.icc +134 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/install-sh +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/AppleHelpbookInfo.plist +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/allexamples.perl +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/debian/Makefile.am +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/debian/changelog +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/debian/control +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/debian/copyright +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/debian/gecode.info +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/debian/gecode.install +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/debian/gecode.spec +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/debian/rules +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/doxygen/back.png +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/doxygen/footer.html +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/doxygen/gecode-logo-100.png +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/doxygen/header.html +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/doxygen/stylesheet.css +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/fixproperties.sh +0 -0
- data/ext/gecode-2.2.0/misc/gecode-gist.pc.in +45 -0
- data/ext/gecode-2.2.0/misc/gecode-minimodel.pc.in +45 -0
- data/ext/gecode-2.2.0/misc/gecode-search.pc.in +45 -0
- data/ext/gecode-2.2.0/misc/gecode-serialization.pc.in +45 -0
- data/ext/gecode-2.2.0/misc/gecode.pc.in +45 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/genchangelog.perl +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/genlcovmakefile.perl +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/genlicense.perl +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/genregistry.perl +0 -0
- data/ext/gecode-2.2.0/misc/genstatistics.perl +179 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/gentxtchangelog.perl +0 -0
- data/ext/gecode-2.2.0/misc/genvariables.perl +905 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/getrevision.perl +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/makedepend.perl +0 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/svn-ignore.txt +0 -0
- data/ext/gecode-2.2.0/test/assign.cc +181 -0
- data/ext/gecode-2.2.0/test/assign.hh +93 -0
- data/ext/gecode-2.2.0/test/assign/bool.cc +61 -0
- data/ext/gecode-2.2.0/test/assign/int.cc +70 -0
- data/ext/gecode-2.2.0/test/branch.cc +563 -0
- data/ext/gecode-2.2.0/test/branch.hh +144 -0
- data/ext/gecode-2.2.0/test/branch/bool.cc +61 -0
- data/ext/gecode-2.2.0/test/branch/cpltset.cc +71 -0
- data/ext/gecode-2.2.0/test/branch/int.cc +70 -0
- data/ext/gecode-2.2.0/test/branch/set.cc +74 -0
- data/ext/gecode-2.2.0/test/cpltset.cc +568 -0
- data/ext/gecode-2.2.0/test/cpltset.hh +125 -0
- data/ext/gecode-2.2.0/test/cpltset/atmost.cc +155 -0
- data/ext/gecode-2.2.0/test/cpltset/cardinality.cc +138 -0
- data/ext/gecode-2.2.0/test/cpltset/dom.cc +137 -0
- data/ext/gecode-2.2.0/test/cpltset/partition.cc +210 -0
- data/ext/gecode-2.2.0/test/cpltset/rel.cc +158 -0
- data/ext/gecode-2.2.0/test/cpltset/select.cc +216 -0
- data/ext/gecode-2.2.0/test/int.cc +688 -0
- data/ext/gecode-2.2.0/test/int.hh +267 -0
- data/ext/gecode-2.2.0/test/int.icc +266 -0
- data/ext/gecode-2.2.0/test/int/arithmetic.cc +766 -0
- data/ext/gecode-2.2.0/test/int/basic.cc +77 -0
- data/ext/gecode-2.2.0/test/int/bool.cc +340 -0
- data/ext/gecode-2.2.0/test/int/channel.cc +238 -0
- data/ext/gecode-2.2.0/test/int/circuit.cc +100 -0
- data/ext/gecode-2.2.0/test/int/count.cc +357 -0
- data/ext/gecode-2.2.0/test/int/distinct.cc +248 -0
- data/ext/gecode-2.2.0/test/int/dom.cc +123 -0
- data/ext/gecode-2.2.0/test/int/element.cc +333 -0
- data/ext/gecode-2.2.0/test/int/extensional.cc +475 -0
- data/ext/gecode-2.2.0/test/int/gcc.cc +293 -0
- data/ext/gecode-2.2.0/test/int/linear.cc +383 -0
- data/ext/gecode-2.2.0/test/int/mm-arithmetic.cc +302 -0
- data/ext/gecode-2.2.0/test/int/mm-bool.cc +4342 -0
- data/ext/gecode-2.2.0/test/int/mm-count.cc +295 -0
- data/ext/gecode-2.2.0/test/int/mm-lin.cc +2035 -0
- data/ext/gecode-2.2.0/test/int/mm-rel.cc +136 -0
- data/ext/gecode-2.2.0/test/int/rel.cc +416 -0
- data/ext/gecode-2.2.0/test/int/scheduling.cc +276 -0
- data/ext/gecode-2.2.0/test/int/sorted.cc +165 -0
- data/ext/gecode-2.2.0/test/int/unshare.cc +109 -0
- data/ext/gecode-2.2.0/test/search.cc +618 -0
- data/ext/gecode-2.2.0/test/set.cc +753 -0
- data/ext/gecode-2.2.0/test/set.hh +286 -0
- data/ext/gecode-2.2.0/test/set.icc +108 -0
- data/ext/gecode-2.2.0/test/set/convex.cc +139 -0
- data/ext/gecode-2.2.0/test/set/distinct.cc +116 -0
- data/ext/gecode-2.2.0/test/set/dom.cc +292 -0
- data/ext/gecode-2.2.0/test/set/int.cc +473 -0
- data/ext/gecode-2.2.0/test/set/projection.cc +436 -0
- data/ext/gecode-2.2.0/test/set/rel-op-const.cc +368 -0
- data/ext/gecode-2.2.0/test/set/rel-op.cc +465 -0
- data/ext/gecode-2.2.0/test/set/rel.cc +125 -0
- data/ext/gecode-2.2.0/test/set/select.cc +299 -0
- data/ext/gecode-2.2.0/test/set/sequence.cc +125 -0
- data/ext/gecode-2.2.0/test/test.cc +287 -0
- data/ext/gecode-2.2.0/test/test.hh +175 -0
- data/ext/gecode-2.2.0/test/test.icc +93 -0
- data/ext/{gecode-2.1.1 → gecode-2.2.0}/variables.vsl +0 -0
- data/lib/gecoder/bindings.rb +7 -5
- data/lib/gecoder/bindings/bindings.rb +8 -8
- data/lib/gecoder/interface.rb +4 -2
- data/lib/gecoder/interface/binding_changes.rb +1 -1
- data/lib/gecoder/interface/branch.rb +1 -1
- data/lib/gecoder/interface/constraints/bool_enum_constraints.rb +4 -4
- data/lib/gecoder/interface/constraints/bool_var_constraints.rb +2 -2
- data/lib/gecoder/interface/constraints/extensional_regexp.rb +1 -1
- data/lib/gecoder/interface/constraints/fixnum_enum_constraints.rb +2 -2
- data/lib/gecoder/interface/constraints/int_enum/extensional.rb +5 -5
- data/lib/gecoder/interface/constraints/int_enum_constraints.rb +4 -4
- data/lib/gecoder/interface/constraints/int_var_constraints.rb +2 -2
- data/lib/gecoder/interface/constraints/selected_set/select.rb +8 -8
- data/lib/gecoder/interface/constraints/set_enum/element.rb +79 -0
- data/lib/gecoder/interface/constraints/set_enum_constraints.rb +5 -5
- data/lib/gecoder/interface/constraints/set_var_constraints.rb +2 -2
- data/lib/gecoder/interface/convenience.rb +99 -0
- data/lib/gecoder/interface/enum_wrapper.rb +1 -1
- data/lib/gecoder/interface/mixin.rb +486 -0
- data/lib/gecoder/interface/search.rb +23 -22
- data/lib/gecoder/version.rb +1 -1
- data/specs/branch.rb +5 -3
- data/specs/constraints/bool/boolean.rb +3 -1
- data/specs/constraints/bool/linear.rb +3 -1
- data/specs/constraints/bool_enum/bool_enum_relation.rb +3 -1
- data/specs/constraints/bool_enum/channel.rb +3 -1
- data/specs/constraints/fixnum_enum/element.rb +3 -1
- data/specs/constraints/int/arithmetic.rb +3 -1
- data/specs/constraints/int/channel.rb +3 -1
- data/specs/constraints/int/linear.rb +3 -1
- data/specs/constraints/int/linear_properties.rb +3 -1
- data/specs/constraints/int_enum/arithmetic.rb +3 -1
- data/specs/constraints/int_enum/channel.rb +3 -1
- data/specs/constraints/int_enum/count.rb +3 -1
- data/specs/constraints/int_enum/distinct.rb +3 -1
- data/specs/constraints/int_enum/element.rb +3 -1
- data/specs/constraints/int_enum/sort.rb +3 -1
- data/specs/constraints/property_helper.rb +10 -10
- data/specs/constraints/reification_sugar.rb +3 -1
- data/specs/constraints/selected_set/select.rb +6 -5
- data/specs/constraints/selected_set/select_properties.rb +12 -10
- data/specs/constraints/set/channel.rb +3 -1
- data/specs/constraints/set/domain.rb +4 -4
- data/specs/constraints/set/relation.rb +4 -4
- data/specs/constraints/set_enum/channel.rb +3 -1
- data/specs/constraints/set_enum/distinct.rb +3 -1
- data/specs/constraints/set_enum/element.rb +77 -0
- data/specs/enum_wrapper.rb +1 -1
- data/specs/mixin.rb +78 -0
- data/specs/model.rb +5 -5
- data/specs/search.rb +20 -14
- data/specs/selected_set.rb +3 -3
- data/specs/set_elements.rb +2 -2
- data/tasks/distribution.rake +25 -4
- metadata +739 -602
- data/example/money.rb +0 -36
- data/ext/gecode-2.1.1/Makefile.dep +0 -7622
- data/ext/gecode-2.1.1/Makefile.in +0 -1568
- data/ext/gecode-2.1.1/changelog.in +0 -2459
- data/ext/gecode-2.1.1/configure +0 -11631
- data/ext/gecode-2.1.1/configure.ac +0 -249
- data/ext/gecode-2.1.1/configure.ac.in +0 -245
- data/ext/gecode-2.1.1/contribs/qecode/Doxyfile +0 -263
- data/ext/gecode-2.1.1/contribs/qecode/FirstFailValueHeuristic.cc +0 -82
- data/ext/gecode-2.1.1/contribs/qecode/FirstFailValueHeuristic.hh +0 -37
- data/ext/gecode-2.1.1/contribs/qecode/Makefile.in.in +0 -162
- data/ext/gecode-2.1.1/contribs/qecode/NaiveValueHeuristics.cc +0 -172
- data/ext/gecode-2.1.1/contribs/qecode/NaiveValueHeuristics.hh +0 -63
- data/ext/gecode-2.1.1/contribs/qecode/SDFVariableHeuristic.cc +0 -37
- data/ext/gecode-2.1.1/contribs/qecode/SDFVariableHeuristic.hh +0 -35
- data/ext/gecode-2.1.1/contribs/qecode/configure +0 -2264
- data/ext/gecode-2.1.1/contribs/qecode/configure.ac +0 -23
- data/ext/gecode-2.1.1/contribs/qecode/examples/COMPILING +0 -13
- data/ext/gecode-2.1.1/contribs/qecode/examples/MatrixGame.cpp +0 -144
- data/ext/gecode-2.1.1/contribs/qecode/examples/NimFibo.cpp +0 -73
- data/ext/gecode-2.1.1/contribs/qecode/examples/stress_test.cpp +0 -179
- data/ext/gecode-2.1.1/contribs/qecode/extensivecomparator.cc +0 -34
- data/ext/gecode-2.1.1/contribs/qecode/extensivecomparator.hh +0 -46
- data/ext/gecode-2.1.1/contribs/qecode/implicative.cc +0 -595
- data/ext/gecode-2.1.1/contribs/qecode/implicative.hh +0 -184
- data/ext/gecode-2.1.1/contribs/qecode/myspace.hh +0 -69
- data/ext/gecode-2.1.1/contribs/qecode/qecore.cc +0 -145
- data/ext/gecode-2.1.1/contribs/qecode/qecore.hh +0 -247
- data/ext/gecode-2.1.1/contribs/qecode/qsolver.cc +0 -168
- data/ext/gecode-2.1.1/contribs/qecode/qsolver.hh +0 -73
- data/ext/gecode-2.1.1/contribs/qecode/valueHeuristic.hh +0 -91
- data/ext/gecode-2.1.1/contribs/qecode/warner.cc +0 -101
- data/ext/gecode-2.1.1/contribs/qecode/warner.hh +0 -83
- data/ext/gecode-2.1.1/doxygen/doxygen.hh.in +0 -1111
- data/ext/gecode-2.1.1/doxygen/reflection.hh +0 -417
- data/ext/gecode-2.1.1/gecode.m4 +0 -956
- data/ext/gecode-2.1.1/gecode/cpltset.hh +0 -797
- data/ext/gecode-2.1.1/gecode/gist/analysiscursor.cc +0 -115
- data/ext/gecode-2.1.1/gecode/gist/analysiscursor.hh +0 -77
- data/ext/gecode-2.1.1/gecode/gist/drawingcursor.cc +0 -245
- data/ext/gecode-2.1.1/gecode/gist/drawingcursor.hh +0 -101
- data/ext/gecode-2.1.1/gecode/gist/gecodelogo.icc +0 -522
- data/ext/gecode-2.1.1/gecode/gist/mainwindow.cc +0 -254
- data/ext/gecode-2.1.1/gecode/gist/mainwindow.hh +0 -86
- data/ext/gecode-2.1.1/gecode/gist/node.cc +0 -100
- data/ext/gecode-2.1.1/gecode/gist/node.hh +0 -89
- data/ext/gecode-2.1.1/gecode/gist/nodecursor.cc +0 -124
- data/ext/gecode-2.1.1/gecode/gist/nodecursor.hh +0 -122
- data/ext/gecode-2.1.1/gecode/gist/nodecursor.icc +0 -79
- data/ext/gecode-2.1.1/gecode/gist/postscript.cc +0 -543
- data/ext/gecode-2.1.1/gecode/gist/postscript.hh +0 -56
- data/ext/gecode-2.1.1/gecode/gist/preferences.cc +0 -110
- data/ext/gecode-2.1.1/gecode/gist/preferences.hh +0 -76
- data/ext/gecode-2.1.1/gecode/gist/reflectionhelpers.cc +0 -55
- data/ext/gecode-2.1.1/gecode/gist/reflectionhelpers.hh +0 -58
- data/ext/gecode-2.1.1/gecode/gist/shapelist.cc +0 -331
- data/ext/gecode-2.1.1/gecode/gist/shapelist.hh +0 -140
- data/ext/gecode-2.1.1/gecode/gist/spacenode.cc +0 -531
- data/ext/gecode-2.1.1/gecode/gist/spacenode.hh +0 -224
- data/ext/gecode-2.1.1/gecode/gist/textoutput.cc +0 -114
- data/ext/gecode-2.1.1/gecode/gist/treecanvas.cc +0 -1140
- data/ext/gecode-2.1.1/gecode/gist/treecanvas.hh +0 -324
- data/ext/gecode-2.1.1/gecode/gist/ui_addvisualisationdialog.hh +0 -163
- data/ext/gecode-2.1.1/gecode/gist/visualisation/intvaritem.cc +0 -175
- data/ext/gecode-2.1.1/gecode/gist/visualisation/intvaritem.hh +0 -71
- data/ext/gecode-2.1.1/gecode/gist/visualisation/setvaritem.cc +0 -219
- data/ext/gecode-2.1.1/gecode/gist/visualisation/setvaritem.hh +0 -73
- data/ext/gecode-2.1.1/gecode/gist/visualisation/vararrayitem.hh +0 -123
- data/ext/gecode-2.1.1/gecode/gist/visualnode.cc +0 -303
- data/ext/gecode-2.1.1/gecode/gist/visualnode.hh +0 -166
- data/ext/gecode-2.1.1/gecode/int.hh +0 -2035
- data/ext/gecode-2.1.1/gecode/int/arithmetic.cc +0 -136
- data/ext/gecode-2.1.1/gecode/int/arithmetic.hh +0 -440
- data/ext/gecode-2.1.1/gecode/int/arithmetic/abs.icc +0 -279
- data/ext/gecode-2.1.1/gecode/int/arithmetic/max.icc +0 -253
- data/ext/gecode-2.1.1/gecode/int/arithmetic/mult.icc +0 -522
- data/ext/gecode-2.1.1/gecode/int/arithmetic/sqr.icc +0 -218
- data/ext/gecode-2.1.1/gecode/int/arithmetic/sqrt.icc +0 -138
- data/ext/gecode-2.1.1/gecode/int/bool.cc +0 -642
- data/ext/gecode-2.1.1/gecode/int/bool/or.icc +0 -1000
- data/ext/gecode-2.1.1/gecode/int/branch.cc +0 -301
- data/ext/gecode-2.1.1/gecode/int/branch.hh +0 -576
- data/ext/gecode-2.1.1/gecode/int/branch/select-val.icc +0 -338
- data/ext/gecode-2.1.1/gecode/int/channel.cc +0 -114
- data/ext/gecode-2.1.1/gecode/int/channel.hh +0 -259
- data/ext/gecode-2.1.1/gecode/int/channel/dom.icc +0 -347
- data/ext/gecode-2.1.1/gecode/int/channel/val.icc +0 -276
- data/ext/gecode-2.1.1/gecode/int/circuit.hh +0 -175
- data/ext/gecode-2.1.1/gecode/int/circuit/base.icc +0 -271
- data/ext/gecode-2.1.1/gecode/int/circuit/val.icc +0 -122
- data/ext/gecode-2.1.1/gecode/int/count.hh +0 -487
- data/ext/gecode-2.1.1/gecode/int/count/int.icc +0 -619
- data/ext/gecode-2.1.1/gecode/int/count/rel.icc +0 -144
- data/ext/gecode-2.1.1/gecode/int/count/view.icc +0 -449
- data/ext/gecode-2.1.1/gecode/int/cumulatives.hh +0 -141
- data/ext/gecode-2.1.1/gecode/int/cumulatives/val.icc +0 -429
- data/ext/gecode-2.1.1/gecode/int/distinct.hh +0 -341
- data/ext/gecode-2.1.1/gecode/int/distinct/dom.icc +0 -750
- data/ext/gecode-2.1.1/gecode/int/distinct/ter-dom.icc +0 -136
- data/ext/gecode-2.1.1/gecode/int/element.hh +0 -239
- data/ext/gecode-2.1.1/gecode/int/element/int.icc +0 -441
- data/ext/gecode-2.1.1/gecode/int/element/view.icc +0 -584
- data/ext/gecode-2.1.1/gecode/int/exception.icc +0 -163
- data/ext/gecode-2.1.1/gecode/int/extensional.hh +0 -415
- data/ext/gecode-2.1.1/gecode/int/extensional/dfa.cc +0 -565
- data/ext/gecode-2.1.1/gecode/int/extensional/tuple-set.cc +0 -311
- data/ext/gecode-2.1.1/gecode/int/gcc.hh +0 -329
- data/ext/gecode-2.1.1/gecode/int/gcc/bnd.icc +0 -660
- data/ext/gecode-2.1.1/gecode/int/gcc/dom.icc +0 -531
- data/ext/gecode-2.1.1/gecode/int/gcc/val.icc +0 -400
- data/ext/gecode-2.1.1/gecode/int/int-set.cc +0 -153
- data/ext/gecode-2.1.1/gecode/int/int-set.icc +0 -191
- data/ext/gecode-2.1.1/gecode/int/linear-bool.cc +0 -220
- data/ext/gecode-2.1.1/gecode/int/linear-int.cc +0 -240
- data/ext/gecode-2.1.1/gecode/int/linear.hh +0 -1849
- data/ext/gecode-2.1.1/gecode/int/linear/bool-post.cc +0 -433
- data/ext/gecode-2.1.1/gecode/int/linear/int-bin.icc +0 -605
- data/ext/gecode-2.1.1/gecode/int/linear/int-dom.icc +0 -539
- data/ext/gecode-2.1.1/gecode/int/linear/int-post.cc +0 -493
- data/ext/gecode-2.1.1/gecode/int/rel.cc +0 -431
- data/ext/gecode-2.1.1/gecode/int/rel.hh +0 -657
- data/ext/gecode-2.1.1/gecode/int/rel/eq.icc +0 -848
- data/ext/gecode-2.1.1/gecode/int/rel/lex.icc +0 -248
- data/ext/gecode-2.1.1/gecode/int/rel/nq.icc +0 -269
- data/ext/gecode-2.1.1/gecode/int/sorted.cc +0 -91
- data/ext/gecode-2.1.1/gecode/int/sorted.hh +0 -117
- data/ext/gecode-2.1.1/gecode/int/sorted/matching.icc +0 -182
- data/ext/gecode-2.1.1/gecode/int/sorted/narrowing.icc +0 -257
- data/ext/gecode-2.1.1/gecode/int/sorted/order.icc +0 -208
- data/ext/gecode-2.1.1/gecode/int/sorted/propagate.icc +0 -669
- data/ext/gecode-2.1.1/gecode/int/sorted/sortsup.icc +0 -596
- data/ext/gecode-2.1.1/gecode/int/var-imp.icc +0 -745
- data/ext/gecode-2.1.1/gecode/int/var-imp/bool.cc +0 -104
- data/ext/gecode-2.1.1/gecode/int/var-imp/int.cc +0 -407
- data/ext/gecode-2.1.1/gecode/int/var/bool.icc +0 -126
- data/ext/gecode-2.1.1/gecode/int/var/int.icc +0 -151
- data/ext/gecode-2.1.1/gecode/int/view.icc +0 -1894
- data/ext/gecode-2.1.1/gecode/iter.hh +0 -90
- data/ext/gecode-2.1.1/gecode/iter/values-minus.icc +0 -130
- data/ext/gecode-2.1.1/gecode/kernel.hh +0 -182
- data/ext/gecode-2.1.1/gecode/kernel/branching.icc +0 -447
- data/ext/gecode-2.1.1/gecode/kernel/core.cc +0 -473
- data/ext/gecode-2.1.1/gecode/kernel/core.icc +0 -2295
- data/ext/gecode-2.1.1/gecode/kernel/memory-manager.icc +0 -458
- data/ext/gecode-2.1.1/gecode/kernel/reflection.cc +0 -921
- data/ext/gecode-2.1.1/gecode/kernel/reflection.icc +0 -1012
- data/ext/gecode-2.1.1/gecode/kernel/var-imp.icc +0 -433
- data/ext/gecode-2.1.1/gecode/kernel/var-map.cc +0 -269
- data/ext/gecode-2.1.1/gecode/kernel/var-map.icc +0 -227
- data/ext/gecode-2.1.1/gecode/kernel/var-traits.icc +0 -72
- data/ext/gecode-2.1.1/gecode/kernel/var-type.icc +0 -915
- data/ext/gecode-2.1.1/gecode/kernel/var.icc +0 -120
- data/ext/gecode-2.1.1/gecode/kernel/view.icc +0 -611
- data/ext/gecode-2.1.1/gecode/minimodel.hh +0 -1165
- data/ext/gecode-2.1.1/gecode/minimodel/arithmetic.cc +0 -179
- data/ext/gecode-2.1.1/gecode/search.hh +0 -752
- data/ext/gecode-2.1.1/gecode/search/reco-stack.icc +0 -237
- data/ext/gecode-2.1.1/gecode/serialization.hh +0 -149
- data/ext/gecode-2.1.1/gecode/serialization/boost.cc +0 -78
- data/ext/gecode-2.1.1/gecode/serialization/javascript.cc +0 -340
- data/ext/gecode-2.1.1/gecode/serialization/register.cc +0 -8142
- data/ext/gecode-2.1.1/gecode/set.hh +0 -970
- data/ext/gecode-2.1.1/gecode/set/projectors.hh +0 -438
- data/ext/gecode-2.1.1/gecode/set/projectors/formula.cc +0 -312
- data/ext/gecode-2.1.1/gecode/set/rel-op/common.icc +0 -557
- data/ext/gecode-2.1.1/gecode/set/rel-op/inter.icc +0 -409
- data/ext/gecode-2.1.1/gecode/set/rel/re-subset.icc +0 -172
- data/ext/gecode-2.1.1/gecode/set/select.cc +0 -135
- data/ext/gecode-2.1.1/gecode/set/select.hh +0 -233
- data/ext/gecode-2.1.1/gecode/set/select/disjoint.cc +0 -308
- data/ext/gecode-2.1.1/gecode/set/select/disjoint.icc +0 -75
- data/ext/gecode-2.1.1/gecode/set/select/idxarray.hh +0 -113
- data/ext/gecode-2.1.1/gecode/set/select/idxarray.icc +0 -155
- data/ext/gecode-2.1.1/gecode/set/select/inter.icc +0 -349
- data/ext/gecode-2.1.1/gecode/set/select/union.icc +0 -371
- data/ext/gecode-2.1.1/gecode/set/select/unionConst.icc +0 -334
- data/ext/gecode-2.1.1/gecode/set/var-imp/set.cc +0 -214
- data/ext/gecode-2.1.1/gecode/set/var/set.icc +0 -303
- data/ext/gecode-2.1.1/gecode/set/view.icc +0 -1503
- data/ext/gecode-2.1.1/gecode/set/view/complement.icc +0 -629
- data/ext/gecode-2.1.1/gecode/support/block-allocator.icc +0 -158
- data/ext/gecode-2.1.1/gecode/support/config.icc.in +0 -80
- data/ext/gecode-2.1.1/gecode/support/sentinel-stack.icc +0 -122
- data/ext/gecode-2.1.1/gecode/support/symbol.cc +0 -226
- data/ext/gecode-2.1.1/gecode/support/symbol.icc +0 -130
- data/ext/gecode-2.1.1/misc/gecode-gist.pc.in +0 -45
- data/ext/gecode-2.1.1/misc/gecode-minimodel.pc.in +0 -45
- data/ext/gecode-2.1.1/misc/gecode-search.pc.in +0 -45
- data/ext/gecode-2.1.1/misc/gecode-serialization.pc.in +0 -45
- data/ext/gecode-2.1.1/misc/gecode.pc.in +0 -45
- data/ext/gecode-2.1.1/misc/genstatistics.perl +0 -178
- data/ext/gecode-2.1.1/misc/genvariables.perl +0 -905
- data/lib/gecoder/interface/constraints/set_enum/select.rb +0 -79
- data/lib/gecoder/interface/model.rb +0 -453
- data/lib/gecoder/interface/model_sugar.rb +0 -84
- data/specs/constraints/set_enum/select.rb +0 -73
@@ -0,0 +1,766 @@
|
|
1
|
+
/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */
|
2
|
+
/*
|
3
|
+
* Main authors:
|
4
|
+
* Christian Schulte <schulte@gecode.org>
|
5
|
+
*
|
6
|
+
* Copyright:
|
7
|
+
* Christian Schulte, 2005
|
8
|
+
*
|
9
|
+
* Last modified:
|
10
|
+
* $Date: 2008-07-11 10:52:20 +0200 (Fri, 11 Jul 2008) $ by $Author: tack $
|
11
|
+
* $Revision: 7351 $
|
12
|
+
*
|
13
|
+
* This file is part of Gecode, the generic constraint
|
14
|
+
* development environment:
|
15
|
+
* http://www.gecode.org
|
16
|
+
*
|
17
|
+
* Permission is hereby granted, free of charge, to any person obtaining
|
18
|
+
* a copy of this software and associated documentation files (the
|
19
|
+
* "Software"), to deal in the Software without restriction, including
|
20
|
+
* without limitation the rights to use, copy, modify, merge, publish,
|
21
|
+
* distribute, sublicense, and/or sell copies of the Software, and to
|
22
|
+
* permit persons to whom the Software is furnished to do so, subject to
|
23
|
+
* the following conditions:
|
24
|
+
*
|
25
|
+
* The above copyright notice and this permission notice shall be
|
26
|
+
* included in all copies or substantial portions of the Software.
|
27
|
+
*
|
28
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
29
|
+
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
30
|
+
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
31
|
+
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
32
|
+
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
33
|
+
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
34
|
+
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
35
|
+
*
|
36
|
+
*/
|
37
|
+
|
38
|
+
#include "test/int.hh"
|
39
|
+
|
40
|
+
#include <cmath>
|
41
|
+
#include <algorithm>
|
42
|
+
|
43
|
+
namespace Test { namespace Int {
|
44
|
+
|
45
|
+
/// Tests for arithmetic constraints
|
46
|
+
namespace Arithmetic {
|
47
|
+
|
48
|
+
/**
|
49
|
+
* \defgroup TaskTestIntArithmetic Arithmetic constraints
|
50
|
+
* \ingroup TaskTestInt
|
51
|
+
*/
|
52
|
+
//@{
|
53
|
+
/// Test for multiplication constraint
|
54
|
+
class MultXYZ : public Test {
|
55
|
+
public:
|
56
|
+
/// Create and register test
|
57
|
+
MultXYZ(const std::string& s, const Gecode::IntSet& d,
|
58
|
+
Gecode::IntConLevel icl)
|
59
|
+
: Test("Arithmetic::Mult::XYZ::"+str(icl)+"::"+s,3,d,false,icl) {}
|
60
|
+
/// Test whether \a x is solution
|
61
|
+
virtual bool solution(const Assignment& x) const {
|
62
|
+
double d0 = static_cast<double>(x[0]);
|
63
|
+
double d1 = static_cast<double>(x[1]);
|
64
|
+
double d2 = static_cast<double>(x[2]);
|
65
|
+
return d0*d1 == d2;
|
66
|
+
}
|
67
|
+
/// Post constraint on \a x
|
68
|
+
virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
|
69
|
+
Gecode::mult(home, x[0], x[1], x[2], icl);
|
70
|
+
}
|
71
|
+
};
|
72
|
+
|
73
|
+
/// Test for multiplication constraint with shared variables
|
74
|
+
class MultXXY : public Test {
|
75
|
+
public:
|
76
|
+
/// Create and register test
|
77
|
+
MultXXY(const std::string& s, const Gecode::IntSet& d,
|
78
|
+
Gecode::IntConLevel icl)
|
79
|
+
: Test("Arithmetic::Mult::XXY::"+str(icl)+"::"+s,2,d,false,icl) {}
|
80
|
+
/// Test whether \a x is solution
|
81
|
+
virtual bool solution(const Assignment& x) const {
|
82
|
+
double d0 = static_cast<double>(x[0]);
|
83
|
+
double d1 = static_cast<double>(x[0]);
|
84
|
+
double d2 = static_cast<double>(x[1]);
|
85
|
+
return d0*d1 == d2;
|
86
|
+
}
|
87
|
+
/// Post constraint on \a x
|
88
|
+
virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
|
89
|
+
Gecode::mult(home, x[0], x[0], x[1], icl);
|
90
|
+
}
|
91
|
+
};
|
92
|
+
|
93
|
+
/// Test for multiplication constraint with shared variables
|
94
|
+
class MultXYX : public Test {
|
95
|
+
public:
|
96
|
+
/// Create and register test
|
97
|
+
MultXYX(const std::string& s, const Gecode::IntSet& d,
|
98
|
+
Gecode::IntConLevel icl)
|
99
|
+
: Test("Arithmetic::Mult::XYX::"+str(icl)+"::"+s,2,d,false,icl) {}
|
100
|
+
/// Test whether \a x is solution
|
101
|
+
virtual bool solution(const Assignment& x) const {
|
102
|
+
double d0 = static_cast<double>(x[0]);
|
103
|
+
double d1 = static_cast<double>(x[1]);
|
104
|
+
double d2 = static_cast<double>(x[0]);
|
105
|
+
return d0*d1 == d2;
|
106
|
+
}
|
107
|
+
/// Post constraint on \a x
|
108
|
+
virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
|
109
|
+
Gecode::mult(home, x[0], x[1], x[0], icl);
|
110
|
+
}
|
111
|
+
};
|
112
|
+
|
113
|
+
/// Test for multiplication constraint with shared variables
|
114
|
+
class MultXYY : public Test {
|
115
|
+
public:
|
116
|
+
/// Create and register test
|
117
|
+
MultXYY(const std::string& s, const Gecode::IntSet& d,
|
118
|
+
Gecode::IntConLevel icl)
|
119
|
+
: Test("Arithmetic::Mult::XYY::"+str(icl)+"::"+s,2,d,false,icl) {}
|
120
|
+
/// Test whether \a x is solution
|
121
|
+
virtual bool solution(const Assignment& x) const {
|
122
|
+
double d0 = static_cast<double>(x[0]);
|
123
|
+
double d1 = static_cast<double>(x[1]);
|
124
|
+
double d2 = static_cast<double>(x[1]);
|
125
|
+
return d0*d1 == d2;
|
126
|
+
}
|
127
|
+
/// Post constraint on \a x
|
128
|
+
virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
|
129
|
+
Gecode::mult(home, x[0], x[1], x[1], icl);
|
130
|
+
}
|
131
|
+
};
|
132
|
+
|
133
|
+
/// Test for multiplication constraint with shared variables
|
134
|
+
class MultXXX : public Test {
|
135
|
+
public:
|
136
|
+
/// Create and register test
|
137
|
+
MultXXX(const std::string& s, const Gecode::IntSet& d,
|
138
|
+
Gecode::IntConLevel icl)
|
139
|
+
: Test("Arithmetic::Mult::XXX::"+str(icl)+"::"+s,1,d,false,icl) {}
|
140
|
+
/// Test whether \a x is solution
|
141
|
+
virtual bool solution(const Assignment& x) const {
|
142
|
+
double d0 = static_cast<double>(x[0]);
|
143
|
+
double d1 = static_cast<double>(x[0]);
|
144
|
+
double d2 = static_cast<double>(x[0]);
|
145
|
+
return d0*d1 == d2;
|
146
|
+
}
|
147
|
+
/// Post constraint on \a x
|
148
|
+
virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
|
149
|
+
Gecode::mult(home, x[0], x[0], x[0], icl);
|
150
|
+
}
|
151
|
+
};
|
152
|
+
|
153
|
+
/// Test for squaring constraint
|
154
|
+
class SqrXY : public Test {
|
155
|
+
public:
|
156
|
+
/// Create and register test
|
157
|
+
SqrXY(const std::string& s, const Gecode::IntSet& d,
|
158
|
+
Gecode::IntConLevel icl)
|
159
|
+
: Test("Arithmetic::Sqr::XY::"+str(icl)+"::"+s,2,d,false,icl) {}
|
160
|
+
/// Test whether \a x is solution
|
161
|
+
virtual bool solution(const Assignment& x) const {
|
162
|
+
double d0 = static_cast<double>(x[0]);
|
163
|
+
double d1 = static_cast<double>(x[1]);
|
164
|
+
return d0*d0 == d1;
|
165
|
+
}
|
166
|
+
/// Post constraint on \a x
|
167
|
+
virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
|
168
|
+
Gecode::sqr(home, x[0], x[1], icl);
|
169
|
+
}
|
170
|
+
};
|
171
|
+
|
172
|
+
/// Test for squaring constraint with shared variables
|
173
|
+
class SqrXX : public Test {
|
174
|
+
public:
|
175
|
+
/// Create and register test
|
176
|
+
SqrXX(const std::string& s, const Gecode::IntSet& d,
|
177
|
+
Gecode::IntConLevel icl)
|
178
|
+
: Test("Arithmetic::Sqr::XX::"+str(icl)+"::"+s,1,d,false,icl) {}
|
179
|
+
/// Test whether \a x is solution
|
180
|
+
virtual bool solution(const Assignment& x) const {
|
181
|
+
double d0 = static_cast<double>(x[0]);
|
182
|
+
return d0*d0 == d0;
|
183
|
+
}
|
184
|
+
/// Post constraint on \a x
|
185
|
+
virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
|
186
|
+
Gecode::sqr(home, x[0], x[0], icl);
|
187
|
+
}
|
188
|
+
};
|
189
|
+
|
190
|
+
/// Test for square root constraint
|
191
|
+
class SqrtXY : public Test {
|
192
|
+
public:
|
193
|
+
/// Create and register test
|
194
|
+
SqrtXY(const std::string& s, const Gecode::IntSet& d,
|
195
|
+
Gecode::IntConLevel icl)
|
196
|
+
: Test("Arithmetic::Sqrt::XY::"+str(icl)+"::"+s,2,d,false,icl) {}
|
197
|
+
/// Test whether \a x is solution
|
198
|
+
virtual bool solution(const Assignment& x) const {
|
199
|
+
double d0 = static_cast<double>(x[0]);
|
200
|
+
double d1 = static_cast<double>(x[1]);
|
201
|
+
return (d0 >= 0) && (d0 >= d1*d1) && (d0 < (d1+1)*(d1+1));
|
202
|
+
}
|
203
|
+
/// Post constraint on \a x
|
204
|
+
virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
|
205
|
+
Gecode::sqrt(home, x[0], x[1], icl);
|
206
|
+
}
|
207
|
+
};
|
208
|
+
|
209
|
+
/// Test for square root constraint with shared variables
|
210
|
+
class SqrtXX : public Test {
|
211
|
+
public:
|
212
|
+
/// Create and register test
|
213
|
+
SqrtXX(const std::string& s, const Gecode::IntSet& d,
|
214
|
+
Gecode::IntConLevel icl)
|
215
|
+
: Test("Arithmetic::Sqrt::XX::"+str(icl)+"::"+s,1,d,false,icl) {}
|
216
|
+
/// Test whether \a x is solution
|
217
|
+
virtual bool solution(const Assignment& x) const {
|
218
|
+
double d0 = static_cast<double>(x[0]);
|
219
|
+
return (d0 >= 0) && (d0 >= d0*d0) && (d0 < (d0+1)*(d0+1));
|
220
|
+
}
|
221
|
+
/// Post constraint on \a x
|
222
|
+
virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
|
223
|
+
Gecode::sqrt(home, x[0], x[0], icl);
|
224
|
+
}
|
225
|
+
};
|
226
|
+
|
227
|
+
/// Test for division/modulo constraint
|
228
|
+
class DivMod : public Test {
|
229
|
+
private:
|
230
|
+
static int abs(int a) { return a<0 ? -a:a; }
|
231
|
+
static int sgn(int a) { return a<0 ? -1:1; }
|
232
|
+
public:
|
233
|
+
/// Create and register test
|
234
|
+
DivMod(const std::string& s, const Gecode::IntSet& d)
|
235
|
+
: Test("Arithmetic::DivMod::"+s,4,d,false,icl) {}
|
236
|
+
/// Test whether \a x is solution
|
237
|
+
virtual bool solution(const Assignment& x) const {
|
238
|
+
return x[0] == x[1]*x[2]+x[3] &&
|
239
|
+
abs(x[3]) < abs(x[1]) &&
|
240
|
+
(x[3] == 0 || sgn(x[3]) == sgn(x[1]));
|
241
|
+
}
|
242
|
+
/// Post constraint on \a x
|
243
|
+
virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
|
244
|
+
Gecode::divmod(home, x[0], x[1], x[2], x[3], icl);
|
245
|
+
}
|
246
|
+
};
|
247
|
+
|
248
|
+
/// Test for division constraint
|
249
|
+
class Div : public Test {
|
250
|
+
public:
|
251
|
+
/// Create and register test
|
252
|
+
Div(const std::string& s, const Gecode::IntSet& d)
|
253
|
+
: Test("Arithmetic::Div::"+s,3,d,false,icl) {}
|
254
|
+
/// Test whether \a x is solution
|
255
|
+
virtual bool solution(const Assignment& x) const {
|
256
|
+
if (x[1] == 0)
|
257
|
+
return false;
|
258
|
+
int divresult =
|
259
|
+
static_cast<int>(floor(static_cast<double>(x[0])/
|
260
|
+
static_cast<double>(x[1])));
|
261
|
+
return x[2] == divresult;
|
262
|
+
}
|
263
|
+
/// Post constraint on \a x
|
264
|
+
virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
|
265
|
+
Gecode::div(home, x[0], x[1], x[2], icl);
|
266
|
+
}
|
267
|
+
};
|
268
|
+
|
269
|
+
/// Test for modulo constraint
|
270
|
+
class Mod : public Test {
|
271
|
+
public:
|
272
|
+
/// Create and register test
|
273
|
+
Mod(const std::string& s, const Gecode::IntSet& d)
|
274
|
+
: Test("Arithmetic::Mod::"+s,3,d,false,icl) {}
|
275
|
+
/// Test whether \a x is solution
|
276
|
+
virtual bool solution(const Assignment& x) const {
|
277
|
+
if (x[1] == 0)
|
278
|
+
return false;
|
279
|
+
int divresult =
|
280
|
+
static_cast<int>(floor(static_cast<double>(x[0])/
|
281
|
+
static_cast<double>(x[1])));
|
282
|
+
return x[0] == x[1]*divresult+x[2];
|
283
|
+
}
|
284
|
+
/// Post constraint on \a x
|
285
|
+
virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
|
286
|
+
Gecode::mod(home, x[0], x[1], x[2], icl);
|
287
|
+
}
|
288
|
+
};
|
289
|
+
|
290
|
+
/// Test for absolute value constraint
|
291
|
+
class AbsXY : public Test {
|
292
|
+
public:
|
293
|
+
/// Create and register test
|
294
|
+
AbsXY(const std::string& s, const Gecode::IntSet& d,
|
295
|
+
Gecode::IntConLevel icl)
|
296
|
+
: Test("Arithmetic::Abs::XY::"+str(icl)+"::"+s,2,d,false,icl) {}
|
297
|
+
/// Test whether \a x is solution
|
298
|
+
virtual bool solution(const Assignment& x) const {
|
299
|
+
double d0 = static_cast<double>(x[0]);
|
300
|
+
double d1 = static_cast<double>(x[1]);
|
301
|
+
return (d0<0 ? -d0 : d0) == d1;
|
302
|
+
}
|
303
|
+
/// Post constraint on \a x
|
304
|
+
virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
|
305
|
+
Gecode::abs(home, x[0], x[1], icl);
|
306
|
+
}
|
307
|
+
};
|
308
|
+
|
309
|
+
/// Test for absolute value constraint with shared variables
|
310
|
+
class AbsXX : public Test {
|
311
|
+
public:
|
312
|
+
/// Create and register test
|
313
|
+
AbsXX(const std::string& s, const Gecode::IntSet& d,
|
314
|
+
Gecode::IntConLevel icl)
|
315
|
+
: Test("Arithmetic::Abs::XX::"+str(icl)+"::"+s,1,d,false,icl) {}
|
316
|
+
/// Test whether \a x is solution
|
317
|
+
virtual bool solution(const Assignment& x) const {
|
318
|
+
double d0 = static_cast<double>(x[0]);
|
319
|
+
double d1 = static_cast<double>(x[0]);
|
320
|
+
return (d0<0 ? -d0 : d0) == d1;
|
321
|
+
}
|
322
|
+
/// Post constraint on \a x
|
323
|
+
virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
|
324
|
+
Gecode::abs(home, x[0], x[0], icl);
|
325
|
+
}
|
326
|
+
};
|
327
|
+
|
328
|
+
/// Test for binary minimum constraint
|
329
|
+
class MinXYZ : public Test {
|
330
|
+
public:
|
331
|
+
/// Create and register test
|
332
|
+
MinXYZ(const std::string& s, const Gecode::IntSet& d,
|
333
|
+
Gecode::IntConLevel icl)
|
334
|
+
: Test("Arithmetic::Min::Bin::XYZ::"+str(icl)+"::"+s,3,d,false,icl) {}
|
335
|
+
/// Test whether \a x is solution
|
336
|
+
virtual bool solution(const Assignment& x) const {
|
337
|
+
return std::min(x[0],x[1]) == x[2];
|
338
|
+
}
|
339
|
+
/// Post constraint on \a x
|
340
|
+
virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
|
341
|
+
Gecode::min(home, x[0], x[1], x[2], icl);
|
342
|
+
}
|
343
|
+
};
|
344
|
+
|
345
|
+
/// Test for binary minimum constraint with shared variables
|
346
|
+
class MinXXY : public Test {
|
347
|
+
public:
|
348
|
+
/// Create and register test
|
349
|
+
MinXXY(const std::string& s, const Gecode::IntSet& d,
|
350
|
+
Gecode::IntConLevel icl)
|
351
|
+
: Test("Arithmetic::Min::Bin::XYX::"+str(icl)+"::"+s,2,d) {}
|
352
|
+
/// Test whether \a x is solution
|
353
|
+
virtual bool solution(const Assignment& x) const {
|
354
|
+
return std::min(x[0],x[0]) == x[1];
|
355
|
+
}
|
356
|
+
/// Post constraint on \a x
|
357
|
+
virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
|
358
|
+
Gecode::min(home, x[0], x[0], x[1], icl);
|
359
|
+
}
|
360
|
+
};
|
361
|
+
|
362
|
+
/// Test for binary minimum constraint with shared variables
|
363
|
+
class MinXYX : public Test {
|
364
|
+
public:
|
365
|
+
/// Create and register test
|
366
|
+
MinXYX(const std::string& s, const Gecode::IntSet& d,
|
367
|
+
Gecode::IntConLevel icl)
|
368
|
+
: Test("Arithmetic::Min::Bin::XYX::"+str(icl)+"::"+s,2,d) {}
|
369
|
+
/// Test whether \a x is solution
|
370
|
+
virtual bool solution(const Assignment& x) const {
|
371
|
+
return std::min(x[0],x[1]) == x[0];
|
372
|
+
}
|
373
|
+
/// Post constraint on \a x
|
374
|
+
virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
|
375
|
+
Gecode::min(home, x[0], x[1], x[0], icl);
|
376
|
+
}
|
377
|
+
};
|
378
|
+
|
379
|
+
/// Test for binary minimum constraint with shared variables
|
380
|
+
class MinXYY : public Test {
|
381
|
+
public:
|
382
|
+
/// Create and register test
|
383
|
+
MinXYY(const std::string& s, const Gecode::IntSet& d,
|
384
|
+
Gecode::IntConLevel icl)
|
385
|
+
: Test("Arithmetic::Min::Bin::XYY::"+str(icl)+"::"+s,2,d) {}
|
386
|
+
/// Test whether \a x is solution
|
387
|
+
virtual bool solution(const Assignment& x) const {
|
388
|
+
return std::min(x[0],x[1]) == x[1];
|
389
|
+
}
|
390
|
+
/// Post constraint on \a x
|
391
|
+
virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
|
392
|
+
Gecode::min(home, x[0], x[1], x[1], icl);
|
393
|
+
}
|
394
|
+
};
|
395
|
+
|
396
|
+
/// Test for binary minimum constraint with shared variables
|
397
|
+
class MinXXX : public Test {
|
398
|
+
public:
|
399
|
+
/// Create and register test
|
400
|
+
MinXXX(const std::string& s, const Gecode::IntSet& d,
|
401
|
+
Gecode::IntConLevel icl)
|
402
|
+
: Test("Arithmetic::Min::Bin::XXX::"+str(icl)+"::"+s,1,d) {}
|
403
|
+
/// Test whether \a x is solution
|
404
|
+
virtual bool solution(const Assignment& x) const {
|
405
|
+
return std::min(x[0],x[0]) == x[0];
|
406
|
+
}
|
407
|
+
/// Post constraint on \a x
|
408
|
+
virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
|
409
|
+
Gecode::min(home, x[0], x[0], x[0], icl);
|
410
|
+
}
|
411
|
+
};
|
412
|
+
|
413
|
+
/// Test for binary maximum constraint
|
414
|
+
class MaxXYZ : public Test {
|
415
|
+
public:
|
416
|
+
/// Create and register test
|
417
|
+
MaxXYZ(const std::string& s, const Gecode::IntSet& d,
|
418
|
+
Gecode::IntConLevel icl)
|
419
|
+
: Test("Arithmetic::Max::Bin::XYZ::"+str(icl)+"::"+s,3,d) {}
|
420
|
+
/// Test whether \a x is solution
|
421
|
+
virtual bool solution(const Assignment& x) const {
|
422
|
+
return std::max(x[0],x[1]) == x[2];
|
423
|
+
}
|
424
|
+
/// Post constraint on \a x
|
425
|
+
virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
|
426
|
+
Gecode::max(home, x[0], x[1], x[2], icl);
|
427
|
+
}
|
428
|
+
};
|
429
|
+
|
430
|
+
/// Test for binary maximum constraint with shared variables
|
431
|
+
class MaxXXY : public Test {
|
432
|
+
public:
|
433
|
+
/// Create and register test
|
434
|
+
MaxXXY(const std::string& s, const Gecode::IntSet& d,
|
435
|
+
Gecode::IntConLevel icl)
|
436
|
+
: Test("Arithmetic::Max::Bin::XXY::"+str(icl)+"::"+s,2,d) {}
|
437
|
+
/// Test whether \a x is solution
|
438
|
+
virtual bool solution(const Assignment& x) const {
|
439
|
+
return std::max(x[0],x[0]) == x[1];
|
440
|
+
}
|
441
|
+
/// Post constraint on \a x
|
442
|
+
virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
|
443
|
+
Gecode::max(home, x[0], x[0], x[1], icl);
|
444
|
+
}
|
445
|
+
};
|
446
|
+
|
447
|
+
/// Test for binary maximum constraint with shared variables
|
448
|
+
class MaxXYX : public Test {
|
449
|
+
public:
|
450
|
+
/// Create and register test
|
451
|
+
MaxXYX(const std::string& s, const Gecode::IntSet& d,
|
452
|
+
Gecode::IntConLevel icl)
|
453
|
+
: Test("Arithmetic::Max::Bin::XYX::"+str(icl)+"::"+s,2,d) {}
|
454
|
+
/// Test whether \a x is solution
|
455
|
+
virtual bool solution(const Assignment& x) const {
|
456
|
+
return std::max(x[0],x[1]) == x[0];
|
457
|
+
}
|
458
|
+
/// Post constraint on \a x
|
459
|
+
virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
|
460
|
+
Gecode::max(home, x[0], x[1], x[0], icl);
|
461
|
+
}
|
462
|
+
};
|
463
|
+
|
464
|
+
/// Test for binary maximum constraint with shared variables
|
465
|
+
class MaxXYY : public Test {
|
466
|
+
public:
|
467
|
+
/// Create and register test
|
468
|
+
MaxXYY(const std::string& s, const Gecode::IntSet& d,
|
469
|
+
Gecode::IntConLevel icl)
|
470
|
+
: Test("Arithmetic::Max::Bin::XYY::"+str(icl)+"::"+s,2,d) {}
|
471
|
+
/// Test whether \a x is solution
|
472
|
+
virtual bool solution(const Assignment& x) const {
|
473
|
+
return std::max(x[0],x[1]) == x[1];
|
474
|
+
}
|
475
|
+
/// Post constraint on \a x
|
476
|
+
virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
|
477
|
+
Gecode::max(home, x[0], x[1], x[1], icl);
|
478
|
+
}
|
479
|
+
};
|
480
|
+
|
481
|
+
/// Test for binary maximum constraint with shared variables
|
482
|
+
class MaxXXX : public Test {
|
483
|
+
public:
|
484
|
+
/// Create and register test
|
485
|
+
MaxXXX(const std::string& s, const Gecode::IntSet& d,
|
486
|
+
Gecode::IntConLevel icl)
|
487
|
+
: Test("Arithmetic::Max::Bin::XXX::"+str(icl)+"::"+s,1,d) {}
|
488
|
+
/// Test whether \a x is solution
|
489
|
+
virtual bool solution(const Assignment& x) const {
|
490
|
+
return std::max(x[0],x[0]) == x[0];
|
491
|
+
}
|
492
|
+
/// Post constraint on \a x
|
493
|
+
virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
|
494
|
+
Gecode::max(home, x[0], x[0], x[0], icl);
|
495
|
+
}
|
496
|
+
};
|
497
|
+
|
498
|
+
/// Test for n-ary minimmum constraint
|
499
|
+
class MinNary : public Test {
|
500
|
+
public:
|
501
|
+
/// Create and register test
|
502
|
+
MinNary(Gecode::IntConLevel icl)
|
503
|
+
: Test("Arithmetic::Min::Nary::"+str(icl),4,-4,4,false,icl) {}
|
504
|
+
/// Test whether \a x is solution
|
505
|
+
virtual bool solution(const Assignment& x) const {
|
506
|
+
return std::min(std::min(x[0],x[1]), x[2]) == x[3];
|
507
|
+
}
|
508
|
+
/// Post constraint on \a x
|
509
|
+
virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
|
510
|
+
Gecode::IntVarArgs m(3);
|
511
|
+
m[0]=x[0]; m[1]=x[1]; m[2]=x[2];
|
512
|
+
Gecode::min(home, m, x[3], icl);
|
513
|
+
}
|
514
|
+
};
|
515
|
+
|
516
|
+
/// Test for n-ary minimmum constraint with shared variables
|
517
|
+
class MinNaryShared : public Test {
|
518
|
+
public:
|
519
|
+
/// Create and register test
|
520
|
+
MinNaryShared(Gecode::IntConLevel icl)
|
521
|
+
: Test("Arithmetic::Min::Nary::Shared::"+str(icl),3,-4,4,false,icl) {}
|
522
|
+
/// Test whether \a x is solution
|
523
|
+
virtual bool solution(const Assignment& x) const {
|
524
|
+
return std::min(std::min(x[0],x[1]), x[2]) == x[1];
|
525
|
+
}
|
526
|
+
/// Post constraint on \a x
|
527
|
+
virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
|
528
|
+
Gecode::IntVarArgs m(3);
|
529
|
+
m[0]=x[0]; m[1]=x[1]; m[2]=x[2];
|
530
|
+
Gecode::min(home, m, x[1], icl);
|
531
|
+
}
|
532
|
+
};
|
533
|
+
|
534
|
+
/// Test for n-ary maximum constraint
|
535
|
+
class MaxNary : public Test {
|
536
|
+
public:
|
537
|
+
/// Create and register test
|
538
|
+
MaxNary(Gecode::IntConLevel icl)
|
539
|
+
: Test("Arithmetic::Max::Nary::"+str(icl),4,-4,4,false,icl) {}
|
540
|
+
/// Test whether \a x is solution
|
541
|
+
virtual bool solution(const Assignment& x) const {
|
542
|
+
return std::max(std::max(x[0],x[1]), x[2]) == x[3];
|
543
|
+
}
|
544
|
+
/// Post constraint on \a x
|
545
|
+
virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
|
546
|
+
Gecode::IntVarArgs m(3);
|
547
|
+
m[0]=x[0]; m[1]=x[1]; m[2]=x[2];
|
548
|
+
Gecode::max(home, m, x[3], icl);
|
549
|
+
}
|
550
|
+
};
|
551
|
+
|
552
|
+
/// Test for n-ary maximum constraint with shared variables
|
553
|
+
class MaxNaryShared : public Test {
|
554
|
+
public:
|
555
|
+
/// Create and register test
|
556
|
+
MaxNaryShared(Gecode::IntConLevel icl)
|
557
|
+
: Test("Arithmetic::Max::Nary::Shared::"+str(icl),3,-4,4,false,icl) {}
|
558
|
+
/// Test whether \a x is solution
|
559
|
+
virtual bool solution(const Assignment& x) const {
|
560
|
+
return std::max(std::max(x[0],x[1]), x[2]) == x[1];
|
561
|
+
}
|
562
|
+
/// Post constraint on \a x
|
563
|
+
virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
|
564
|
+
Gecode::IntVarArgs m(3);
|
565
|
+
m[0]=x[0]; m[1]=x[1]; m[2]=x[2];
|
566
|
+
Gecode::max(home, m, x[1], icl);
|
567
|
+
}
|
568
|
+
};
|
569
|
+
|
570
|
+
|
571
|
+
|
572
|
+
const int va[7] = {
|
573
|
+
Gecode::Int::Limits::min, Gecode::Int::Limits::min+1,
|
574
|
+
-1,0,1,
|
575
|
+
Gecode::Int::Limits::max-1, Gecode::Int::Limits::max
|
576
|
+
};
|
577
|
+
const int vb[9] = {
|
578
|
+
static_cast<int>(-sqrt(static_cast<double>
|
579
|
+
(-Gecode::Int::Limits::min))),
|
580
|
+
-4,-2,-1,0,1,2,4,
|
581
|
+
static_cast<int>(sqrt(static_cast<double>
|
582
|
+
(Gecode::Int::Limits::max)))
|
583
|
+
};
|
584
|
+
|
585
|
+
Gecode::IntSet a(va,7);
|
586
|
+
Gecode::IntSet b(vb,9);
|
587
|
+
Gecode::IntSet c(-8,8);
|
588
|
+
|
589
|
+
MultXYZ mult_xyz_b_a("A",a,Gecode::ICL_BND);
|
590
|
+
MultXYZ mult_xyz_b_b("B",b,Gecode::ICL_BND);
|
591
|
+
MultXYZ mult_xyz_b_c("C",c,Gecode::ICL_BND);
|
592
|
+
|
593
|
+
MultXXY mult_xxy_b_a("A",a,Gecode::ICL_BND);
|
594
|
+
MultXXY mult_xxy_b_b("B",b,Gecode::ICL_BND);
|
595
|
+
MultXXY mult_xxy_b_c("C",c,Gecode::ICL_BND);
|
596
|
+
|
597
|
+
MultXYX mult_xyx_b_a("A",a,Gecode::ICL_BND);
|
598
|
+
MultXYX mult_xyx_b_b("B",b,Gecode::ICL_BND);
|
599
|
+
MultXYX mult_xyx_b_c("C",c,Gecode::ICL_BND);
|
600
|
+
|
601
|
+
MultXYY mult_xyy_b_a("A",a,Gecode::ICL_BND);
|
602
|
+
MultXYY mult_xyy_b_b("B",b,Gecode::ICL_BND);
|
603
|
+
MultXYY mult_xyy_b_c("C",c,Gecode::ICL_BND);
|
604
|
+
|
605
|
+
MultXXX mult_xxx_b_a("A",a,Gecode::ICL_BND);
|
606
|
+
MultXXX mult_xxx_b_b("B",b,Gecode::ICL_BND);
|
607
|
+
MultXXX mult_xxx_b_c("C",c,Gecode::ICL_BND);
|
608
|
+
|
609
|
+
MultXYZ mult_xyz_d_a("A",a,Gecode::ICL_DOM);
|
610
|
+
MultXYZ mult_xyz_d_b("B",b,Gecode::ICL_DOM);
|
611
|
+
MultXYZ mult_xyz_d_c("C",c,Gecode::ICL_DOM);
|
612
|
+
|
613
|
+
MultXXY mult_xxy_d_a("A",a,Gecode::ICL_DOM);
|
614
|
+
MultXXY mult_xxy_d_b("B",b,Gecode::ICL_DOM);
|
615
|
+
MultXXY mult_xxy_d_c("C",c,Gecode::ICL_DOM);
|
616
|
+
|
617
|
+
MultXYX mult_xyx_d_a("A",a,Gecode::ICL_DOM);
|
618
|
+
MultXYX mult_xyx_d_b("B",b,Gecode::ICL_DOM);
|
619
|
+
MultXYX mult_xyx_d_c("C",c,Gecode::ICL_DOM);
|
620
|
+
|
621
|
+
MultXYY mult_xyy_d_a("A",a,Gecode::ICL_DOM);
|
622
|
+
MultXYY mult_xyy_d_b("B",b,Gecode::ICL_DOM);
|
623
|
+
MultXYY mult_xyy_d_c("C",c,Gecode::ICL_DOM);
|
624
|
+
|
625
|
+
MultXXX mult_xxx_d_a("A",a,Gecode::ICL_DOM);
|
626
|
+
MultXXX mult_xxx_d_b("B",b,Gecode::ICL_DOM);
|
627
|
+
MultXXX mult_xxx_d_c("C",c,Gecode::ICL_DOM);
|
628
|
+
|
629
|
+
SqrXY sqr_xy_b_a("A",a,Gecode::ICL_BND);
|
630
|
+
SqrXY sqr_xy_b_b("B",b,Gecode::ICL_BND);
|
631
|
+
SqrXY sqr_xy_b_c("C",c,Gecode::ICL_BND);
|
632
|
+
SqrXY sqr_xy_d_a("A",a,Gecode::ICL_DOM);
|
633
|
+
SqrXY sqr_xy_d_b("B",b,Gecode::ICL_DOM);
|
634
|
+
SqrXY sqr_xy_d_c("C",c,Gecode::ICL_DOM);
|
635
|
+
|
636
|
+
SqrXX sqr_xx_b_a("A",a,Gecode::ICL_BND);
|
637
|
+
SqrXX sqr_xx_b_b("B",b,Gecode::ICL_BND);
|
638
|
+
SqrXX sqr_xx_b_c("C",c,Gecode::ICL_BND);
|
639
|
+
SqrXX sqr_xx_d_a("A",a,Gecode::ICL_DOM);
|
640
|
+
SqrXX sqr_xx_d_b("B",b,Gecode::ICL_DOM);
|
641
|
+
SqrXX sqr_xx_d_c("C",c,Gecode::ICL_DOM);
|
642
|
+
|
643
|
+
SqrtXY sqrt_xy_b_a("A",a,Gecode::ICL_BND);
|
644
|
+
SqrtXY sqrt_xy_b_b("B",b,Gecode::ICL_BND);
|
645
|
+
SqrtXY sqrt_xy_b_c("C",c,Gecode::ICL_BND);
|
646
|
+
SqrtXY sqrt_xy_d_a("A",a,Gecode::ICL_DOM);
|
647
|
+
SqrtXY sqrt_xy_d_b("B",b,Gecode::ICL_DOM);
|
648
|
+
SqrtXY sqrt_xy_d_c("C",c,Gecode::ICL_DOM);
|
649
|
+
|
650
|
+
SqrtXX sqrt_xx_b_a("A",a,Gecode::ICL_BND);
|
651
|
+
SqrtXX sqrt_xx_b_b("B",b,Gecode::ICL_BND);
|
652
|
+
SqrtXX sqrt_xx_b_c("C",c,Gecode::ICL_BND);
|
653
|
+
SqrtXX sqrt_xx_d_a("A",a,Gecode::ICL_DOM);
|
654
|
+
SqrtXX sqrt_xx_d_b("B",b,Gecode::ICL_DOM);
|
655
|
+
SqrtXX sqrt_xx_d_c("C",c,Gecode::ICL_DOM);
|
656
|
+
|
657
|
+
DivMod divmod_a_bnd("A",a);
|
658
|
+
DivMod divmod_b_bnd("B",b);
|
659
|
+
DivMod divmod_c_bnd("C",c);
|
660
|
+
|
661
|
+
Div div_a_bnd("A",a);
|
662
|
+
Div div_b_bnd("B",b);
|
663
|
+
Div div_c_bnd("C",c);
|
664
|
+
|
665
|
+
Mod mod_a_bnd("A",a);
|
666
|
+
Mod mod_b_bnd("B",b);
|
667
|
+
Mod mod_c_bnd("C",c);
|
668
|
+
|
669
|
+
AbsXY abs_xy_b_a("A",a,Gecode::ICL_BND);
|
670
|
+
AbsXY abs_xy_b_b("B",b,Gecode::ICL_BND);
|
671
|
+
AbsXY abs_xy_b_c("C",c,Gecode::ICL_BND);
|
672
|
+
AbsXY abs_xy_d_a("A",a,Gecode::ICL_DOM);
|
673
|
+
AbsXY abs_xy_d_b("B",b,Gecode::ICL_DOM);
|
674
|
+
AbsXY abs_xy_d_c("C",c,Gecode::ICL_DOM);
|
675
|
+
|
676
|
+
AbsXX abs_xx_b_a("A",a,Gecode::ICL_BND);
|
677
|
+
AbsXX abs_xx_b_b("B",b,Gecode::ICL_BND);
|
678
|
+
AbsXX abs_xx_b_c("C",c,Gecode::ICL_BND);
|
679
|
+
AbsXX abs_xx_d_a("A",a,Gecode::ICL_DOM);
|
680
|
+
AbsXX abs_xx_d_b("B",b,Gecode::ICL_DOM);
|
681
|
+
AbsXX abs_xx_d_c("C",c,Gecode::ICL_DOM);
|
682
|
+
|
683
|
+
MinXYZ min_xyz_b_a("A",a,Gecode::ICL_BND);
|
684
|
+
MinXYZ min_xyz_b_b("B",b,Gecode::ICL_BND);
|
685
|
+
MinXYZ min_xyz_b_c("C",c,Gecode::ICL_BND);
|
686
|
+
MinXYZ min_xyz_d_a("A",a,Gecode::ICL_DOM);
|
687
|
+
MinXYZ min_xyz_d_b("B",b,Gecode::ICL_DOM);
|
688
|
+
MinXYZ min_xyz_d_c("C",c,Gecode::ICL_DOM);
|
689
|
+
|
690
|
+
MinXXY min_xxy_b_a("A",a,Gecode::ICL_BND);
|
691
|
+
MinXXY min_xxy_b_b("B",b,Gecode::ICL_BND);
|
692
|
+
MinXXY min_xxy_b_c("C",c,Gecode::ICL_BND);
|
693
|
+
MinXXY min_xxy_d_a("A",a,Gecode::ICL_DOM);
|
694
|
+
MinXXY min_xxy_d_b("B",b,Gecode::ICL_DOM);
|
695
|
+
MinXXY min_xxy_d_c("C",c,Gecode::ICL_DOM);
|
696
|
+
|
697
|
+
MinXYX min_xyx_b_a("A",a,Gecode::ICL_BND);
|
698
|
+
MinXYX min_xyx_b_b("B",b,Gecode::ICL_BND);
|
699
|
+
MinXYX min_xyx_b_c("C",c,Gecode::ICL_BND);
|
700
|
+
MinXYX min_xyx_d_a("A",a,Gecode::ICL_DOM);
|
701
|
+
MinXYX min_xyx_d_b("B",b,Gecode::ICL_DOM);
|
702
|
+
MinXYX min_xyx_d_c("C",c,Gecode::ICL_DOM);
|
703
|
+
|
704
|
+
MinXYY min_xyy_b_a("A",a,Gecode::ICL_BND);
|
705
|
+
MinXYY min_xyy_b_b("B",b,Gecode::ICL_BND);
|
706
|
+
MinXYY min_xyy_b_c("C",c,Gecode::ICL_BND);
|
707
|
+
MinXYY min_xyy_d_a("A",a,Gecode::ICL_DOM);
|
708
|
+
MinXYY min_xyy_d_b("B",b,Gecode::ICL_DOM);
|
709
|
+
MinXYY min_xyy_d_c("C",c,Gecode::ICL_DOM);
|
710
|
+
|
711
|
+
MinXXX min_xxx_b_a("A",a,Gecode::ICL_BND);
|
712
|
+
MinXXX min_xxx_b_b("B",b,Gecode::ICL_BND);
|
713
|
+
MinXXX min_xxx_b_c("C",c,Gecode::ICL_BND);
|
714
|
+
MinXXX min_xxx_d_a("A",a,Gecode::ICL_DOM);
|
715
|
+
MinXXX min_xxx_d_b("B",b,Gecode::ICL_DOM);
|
716
|
+
MinXXX min_xxx_d_c("C",c,Gecode::ICL_DOM);
|
717
|
+
|
718
|
+
MaxXYZ max_xyz_b_a("A",a,Gecode::ICL_BND);
|
719
|
+
MaxXYZ max_xyz_b_b("B",b,Gecode::ICL_BND);
|
720
|
+
MaxXYZ max_xyz_b_c("C",c,Gecode::ICL_BND);
|
721
|
+
MaxXYZ max_xyz_d_a("A",a,Gecode::ICL_DOM);
|
722
|
+
MaxXYZ max_xyz_d_b("B",b,Gecode::ICL_DOM);
|
723
|
+
MaxXYZ max_xyz_d_c("C",c,Gecode::ICL_DOM);
|
724
|
+
|
725
|
+
MaxXXY max_xxy_b_a("A",a,Gecode::ICL_BND);
|
726
|
+
MaxXXY max_xxy_b_b("B",b,Gecode::ICL_BND);
|
727
|
+
MaxXXY max_xxy_b_c("C",c,Gecode::ICL_BND);
|
728
|
+
MaxXXY max_xxy_d_a("A",a,Gecode::ICL_DOM);
|
729
|
+
MaxXXY max_xxy_d_b("B",b,Gecode::ICL_DOM);
|
730
|
+
MaxXXY max_xxy_d_c("C",c,Gecode::ICL_DOM);
|
731
|
+
|
732
|
+
MaxXYX max_xyx_b_a("A",a,Gecode::ICL_BND);
|
733
|
+
MaxXYX max_xyx_b_b("B",b,Gecode::ICL_BND);
|
734
|
+
MaxXYX max_xyx_b_c("C",c,Gecode::ICL_BND);
|
735
|
+
MaxXYX max_xyx_d_a("A",a,Gecode::ICL_DOM);
|
736
|
+
MaxXYX max_xyx_d_b("B",b,Gecode::ICL_DOM);
|
737
|
+
MaxXYX max_xyx_d_c("C",c,Gecode::ICL_DOM);
|
738
|
+
|
739
|
+
MaxXYY max_xyy_b_a("A",a,Gecode::ICL_BND);
|
740
|
+
MaxXYY max_xyy_b_b("B",b,Gecode::ICL_BND);
|
741
|
+
MaxXYY max_xyy_b_c("C",c,Gecode::ICL_BND);
|
742
|
+
MaxXYY max_xyy_d_a("A",a,Gecode::ICL_DOM);
|
743
|
+
MaxXYY max_xyy_d_b("B",b,Gecode::ICL_DOM);
|
744
|
+
MaxXYY max_xyy_d_c("C",c,Gecode::ICL_DOM);
|
745
|
+
|
746
|
+
MaxXXX max_xxx_b_a("A",a,Gecode::ICL_BND);
|
747
|
+
MaxXXX max_xxx_b_b("B",b,Gecode::ICL_BND);
|
748
|
+
MaxXXX max_xxx_b_c("C",c,Gecode::ICL_BND);
|
749
|
+
MaxXXX max_xxx_d_a("A",a,Gecode::ICL_DOM);
|
750
|
+
MaxXXX max_xxx_d_b("B",b,Gecode::ICL_DOM);
|
751
|
+
MaxXXX max_xxx_d_c("C",c,Gecode::ICL_DOM);
|
752
|
+
|
753
|
+
MinNary min_nary_b(Gecode::ICL_BND);
|
754
|
+
MinNary min_nary_d(Gecode::ICL_DOM);
|
755
|
+
MinNaryShared min_s_nary_b(Gecode::ICL_BND);
|
756
|
+
MinNaryShared min_s_nary_d(Gecode::ICL_DOM);
|
757
|
+
MaxNary max_nary_b(Gecode::ICL_BND);
|
758
|
+
MaxNary max_nary_d(Gecode::ICL_DOM);
|
759
|
+
MaxNaryShared max_s_nary_b(Gecode::ICL_BND);
|
760
|
+
MaxNaryShared max_s_nary_d(Gecode::ICL_DOM);
|
761
|
+
//@}
|
762
|
+
|
763
|
+
}
|
764
|
+
}}
|
765
|
+
|
766
|
+
// STATISTICS: test-int
|