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,45 @@
|
|
1
|
+
# Package Information for pkg-config
|
2
|
+
|
3
|
+
# Main authors:
|
4
|
+
# Guido Tack <tack@gecode.org>
|
5
|
+
#
|
6
|
+
# Copyright:
|
7
|
+
# Guido Tack, 2005
|
8
|
+
#
|
9
|
+
# Last modified:
|
10
|
+
# $Date: 2008-07-11 13:50:21 +0200 (Fri, 11 Jul 2008) $ by $Author: tack $
|
11
|
+
# $Revision: 7363 $
|
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
|
+
prefix=@cygpathprefix@
|
37
|
+
exec_prefix=@exec_prefix@
|
38
|
+
libdir=@libdir@
|
39
|
+
includedir=@includedir@
|
40
|
+
|
41
|
+
Name: Gecode Minimodel
|
42
|
+
Description: Generic Constraint Development Environment Minimodel
|
43
|
+
Version: @VERSION@
|
44
|
+
Libs: @MINUSLDIR@ @LINKLIBDIR@@LINKPREFIX@@MM@@USERSUFFIX@@LINKSUFFIX@ @LINKLIBDIR@@LINKPREFIX@@KERNEL@@USERSUFFIX@@LINKSUFFIX@ @LINKLIBDIR@@LINKPREFIX@@SUPPORT@@USERSUFFIX@@LINKSUFFIX@
|
45
|
+
Cflags: -I${includedir} @PKG_CONFIG_CXXFLAGS@
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# Package Information for pkg-config
|
2
|
+
|
3
|
+
# Main authors:
|
4
|
+
# Guido Tack <tack@gecode.org>
|
5
|
+
#
|
6
|
+
# Copyright:
|
7
|
+
# Guido Tack, 2005
|
8
|
+
#
|
9
|
+
# Last modified:
|
10
|
+
# $Date: 2008-07-11 13:50:21 +0200 (Fri, 11 Jul 2008) $ by $Author: tack $
|
11
|
+
# $Revision: 7363 $
|
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
|
+
prefix=@cygpathprefix@
|
37
|
+
exec_prefix=@exec_prefix@
|
38
|
+
libdir=@libdir@
|
39
|
+
includedir=@includedir@
|
40
|
+
|
41
|
+
Name: Gecode Search Engines
|
42
|
+
Description: Generic Constraint Development Environment Search Engines
|
43
|
+
Version: @VERSION@
|
44
|
+
Libs: @MINUSLDIR@ @LINKLIBDIR@@LINKPREFIX@@SUPPORT@@USERSUFFIX@@LINKSUFFIX@ @LINKLIBDIR@@LINKPREFIX@@KERNEL@@USERSUFFIX@@LINKSUFFIX@ @LINKLIBDIR@@LINKPREFIX@@SEARCH@@USERSUFFIX@@LINKSUFFIX@
|
45
|
+
Cflags: -I${includedir} @PKG_CONFIG_CXXFLAGS@
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# Package Information for pkg-config
|
2
|
+
|
3
|
+
# Main authors:
|
4
|
+
# Guido Tack <tack@gecode.org>
|
5
|
+
#
|
6
|
+
# Copyright:
|
7
|
+
# Guido Tack, 2005
|
8
|
+
#
|
9
|
+
# Last modified:
|
10
|
+
# $Date: 2008-07-11 13:50:21 +0200 (Fri, 11 Jul 2008) $ by $Author: tack $
|
11
|
+
# $Revision: 7363 $
|
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
|
+
prefix=@cygpathprefix@
|
37
|
+
exec_prefix=@exec_prefix@
|
38
|
+
libdir=@libdir@
|
39
|
+
includedir=@includedir@
|
40
|
+
|
41
|
+
Name: Gecode Serialization
|
42
|
+
Description: Generic Constraint Development Environment Minimodel
|
43
|
+
Version: @VERSION@
|
44
|
+
Libs: @MINUSLDIR@ @LINKLIBDIR@@LINKPREFIX@@SUPPORT@@USERSUFFIX@@LINKSUFFIX@ @LINKLIBDIR@@LINKPREFIX@@KERNEL@@USERSUFFIX@@LINKSUFFIX@ @LINKLIBDIR@@LINKPREFIX@@SER@@USERSUFFIX@@LINKSUFFIX@
|
45
|
+
Cflags: -I${includedir} @PKG_CONFIG_CXXFLAGS@
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# Package Information for pkg-config
|
2
|
+
|
3
|
+
# Main authors:
|
4
|
+
# Guido Tack <tack@gecode.org>
|
5
|
+
#
|
6
|
+
# Copyright:
|
7
|
+
# Guido Tack, 2005
|
8
|
+
#
|
9
|
+
# Last modified:
|
10
|
+
# $Date: 2008-07-11 13:50:21 +0200 (Fri, 11 Jul 2008) $ by $Author: tack $
|
11
|
+
# $Revision: 7363 $
|
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
|
+
prefix=@cygpathprefix@
|
37
|
+
exec_prefix=@exec_prefix@
|
38
|
+
libdir=@libdir@
|
39
|
+
includedir=@includedir@
|
40
|
+
|
41
|
+
Name: Gecode
|
42
|
+
Description: Generic Constraint Development Environment
|
43
|
+
Version: @VERSION@
|
44
|
+
Libs: @MINUSLDIR@ @LINKCPLTSET@ @LINKSET@ @LINKINT@ @LINKLIBDIR@@LINKPREFIX@@KERNEL@@USERSUFFIX@@LINKSUFFIX@ @LINKLIBDIR@@LINKPREFIX@@SUPPORT@@USERSUFFIX@@LINKSUFFIX@
|
45
|
+
Cflags: -I${includedir} @PKG_CONFIG_CXXFLAGS@
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,179 @@
|
|
1
|
+
#!/usr/bin/perl
|
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 09:38:30 +0200 (Fri, 11 Jul 2008) $ by $Author: tack $
|
11
|
+
# $Revision: 7296 $
|
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
|
+
#
|
39
|
+
# Get statistics for all files
|
40
|
+
#
|
41
|
+
|
42
|
+
$i = 0;
|
43
|
+
|
44
|
+
while ($file = @ARGV[$i++]) {
|
45
|
+
open(FILE,"<$file");
|
46
|
+
my $module = "UNKNOWN";
|
47
|
+
my $cat = "UNKNOWN";
|
48
|
+
my $n_blank;
|
49
|
+
my $n_comment;
|
50
|
+
my $n_code;
|
51
|
+
my $n_class;
|
52
|
+
while ($l = <FILE>) {
|
53
|
+
if ($l =~ /\/\/ STATISTICS: ([A-Za-z]+)-([A-Za-z]+)/) {
|
54
|
+
$module = $1;
|
55
|
+
$cat = $2;
|
56
|
+
}
|
57
|
+
if ($l =~ /^[ \t]*$/) {
|
58
|
+
$n_blank += 1;
|
59
|
+
} elsif ($l =~ /^[ \t]*\/\//) {
|
60
|
+
$n_comment += 1;
|
61
|
+
} elsif ($l =~ /\/\*/) {
|
62
|
+
$n_comment += 1;
|
63
|
+
while (!($l =~ /\*\//) && ($l = <FILE>)) {
|
64
|
+
$n_comment += 1;
|
65
|
+
}
|
66
|
+
} else {
|
67
|
+
$n_code += 1;
|
68
|
+
}
|
69
|
+
if ($l =~ /class [A-Za-z_][A-Za-z0-9_]*.*\{/) {
|
70
|
+
$n_class += 1;
|
71
|
+
}
|
72
|
+
}
|
73
|
+
if ($module eq "UNKNOWN") {
|
74
|
+
print "UNKNOWN: $file\n";
|
75
|
+
exit 1;
|
76
|
+
}
|
77
|
+
$m{$module} = 1;
|
78
|
+
$c{$cat} = 1;
|
79
|
+
$class{"$module-$cat"} += $n_class;
|
80
|
+
$comment{"$module-$cat"} += $n_comment;
|
81
|
+
$blank{"$module-$cat"} += $n_blank;
|
82
|
+
$code{"$module-$cat"} += $n_code;
|
83
|
+
close FILE;
|
84
|
+
}
|
85
|
+
|
86
|
+
@modorder = ("kernel","search","int","set","cpltset","minimodel",
|
87
|
+
"serialization", "iter","support","example","test","dds");
|
88
|
+
|
89
|
+
@catorder = ("core","var","prop","branch","post","search",
|
90
|
+
"int","set","cpltset","minimodel","stress","any","other");
|
91
|
+
$i = 0;
|
92
|
+
|
93
|
+
$modclear{"kernel"} = "Kernel";
|
94
|
+
$modclear{"search"} = "Search engines";
|
95
|
+
$modclear{"int"} = "Finite domain integers";
|
96
|
+
$modclear{"set"} = "Finite integer sets";
|
97
|
+
$modclear{"cpltset"} =
|
98
|
+
"Finite integer sets with complete domain representation";
|
99
|
+
$modclear{"minimodel"} = "Minimal modelling support";
|
100
|
+
$modclear{"serialization"} = "Serialization support";
|
101
|
+
$modclear{"iter"} = "Range and value iterators";
|
102
|
+
$modclear{"support"} = "Support algorithms and datastructures";
|
103
|
+
$modclear{"example"} = "\%Example scripts";
|
104
|
+
$modclear{"test"} = "Systematic tests";
|
105
|
+
$modclear{"dds"} = "Decomposition during search";
|
106
|
+
|
107
|
+
|
108
|
+
$catclear{"core"} = "Core functionality";
|
109
|
+
$catclear{"var"} = "Variables, views, and variable implementations";
|
110
|
+
$catclear{"prop"} = "Propagators";
|
111
|
+
$catclear{"branch"} = "Branchings";
|
112
|
+
$catclear{"search"} = "Search engines";
|
113
|
+
$catclear{"post"} = "Posting propagators and branchings";
|
114
|
+
$catclear{"any"} = "All";
|
115
|
+
$catclear{"other"} = "Miscellaneous";
|
116
|
+
$catclear{"int"} = "Finite domain integers";
|
117
|
+
$catclear{"set"} = "Finite integer sets";
|
118
|
+
$catclear{"cpltset"} =
|
119
|
+
"Finite integer sets with complete domain representation";
|
120
|
+
$catclear{"minimodel"} = "Minimal modelling support";
|
121
|
+
$catclear{"stress"} = "System stress";
|
122
|
+
|
123
|
+
print <<EOF
|
124
|
+
/**
|
125
|
+
\\page PageCodeStat Gecode code statistics
|
126
|
+
|
127
|
+
The following approximate breakdown into the different parts of %Gecode
|
128
|
+
gives some statistics about the amount of code and documentation
|
129
|
+
contained in the code (as comments) where blank lines are excluded.
|
130
|
+
|
131
|
+
The abbreviation "loc" means "lines of code" and "lod" means "lines of
|
132
|
+
documentation".
|
133
|
+
|
134
|
+
EOF
|
135
|
+
;
|
136
|
+
|
137
|
+
|
138
|
+
$an_code = 0;
|
139
|
+
$an_comment = 0;
|
140
|
+
$an_class = 0;
|
141
|
+
|
142
|
+
foreach $module (@modorder) {
|
143
|
+
print " - " . $modclear{$module} . ": ";
|
144
|
+
$mn_code = 0;
|
145
|
+
$mn_comment = 0;
|
146
|
+
$mn_class = 0;
|
147
|
+
$n_cat = 0;
|
148
|
+
$doc = "";
|
149
|
+
foreach $cat (@catorder) {
|
150
|
+
$k = "$module-$cat";
|
151
|
+
if ($code{$k}) {
|
152
|
+
$n_cat += 1;
|
153
|
+
$doc = $doc . " - " . $catclear{$cat} . ": ";
|
154
|
+
$mn_code += $code{$k};
|
155
|
+
$mn_comment += $comment{$k};
|
156
|
+
$mn_class += $class{$k};
|
157
|
+
$doc = $doc . $class{$k} . " classes, ";
|
158
|
+
$doc = $doc . $code{$k} . " loc, ";
|
159
|
+
$doc = $doc . $comment{$k} . " lod\n";
|
160
|
+
}
|
161
|
+
}
|
162
|
+
print $mn_class . " classes, " . $mn_code . " loc, " . $mn_comment . " lod\n";
|
163
|
+
if ($n_cat > 1) {
|
164
|
+
print $doc;
|
165
|
+
}
|
166
|
+
$an_code += $mn_code;
|
167
|
+
$an_comment += $mn_comment;
|
168
|
+
$an_class += $mn_class;
|
169
|
+
}
|
170
|
+
|
171
|
+
|
172
|
+
print <<EOF
|
173
|
+
|
174
|
+
The grand total: $an_class classes, $an_code loc, $an_comment lod
|
175
|
+
|
176
|
+
*/
|
177
|
+
EOF
|
178
|
+
;
|
179
|
+
|
File without changes
|
@@ -0,0 +1,905 @@
|
|
1
|
+
#!/usr/bin/perl
|
2
|
+
#
|
3
|
+
# Main authors:
|
4
|
+
# Christian Schulte <schulte@gecode.org>
|
5
|
+
#
|
6
|
+
# Copyright:
|
7
|
+
# Christian Schulte, 2007
|
8
|
+
#
|
9
|
+
# Last modified:
|
10
|
+
# $Date: 2008-07-11 10:13:16 +0200 (Fri, 11 Jul 2008) $ by $Author: tack $
|
11
|
+
# $Revision: 7314 $
|
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
|
+
use File::Basename;
|
39
|
+
|
40
|
+
while (($arg = $ARGV[$i]) && ($arg =~ /^-/)) {
|
41
|
+
$i++;
|
42
|
+
if ($arg eq "-header") {
|
43
|
+
$gen_header = 1;
|
44
|
+
} elsif ($arg eq "-typeicc") {
|
45
|
+
$gen_typeicc = 1;
|
46
|
+
} elsif ($arg eq "-typecc") {
|
47
|
+
$gen_typecc = 1;
|
48
|
+
}
|
49
|
+
}
|
50
|
+
|
51
|
+
$varfile = $ARGV[$i];
|
52
|
+
|
53
|
+
my ($filename, $directory, $suffix) = fileparse($varfile);
|
54
|
+
|
55
|
+
open VARFILE, $varfile;
|
56
|
+
|
57
|
+
$n_files = 0;
|
58
|
+
while ($l = <VARFILE>) {
|
59
|
+
if ($l =~ /^File:\s*([^ \t\r\n]+)/io) {
|
60
|
+
$files[$n_files] = $1;
|
61
|
+
$n_files++;
|
62
|
+
}
|
63
|
+
}
|
64
|
+
close VARFILE;
|
65
|
+
|
66
|
+
print <<EOF
|
67
|
+
/*
|
68
|
+
* CAUTION:
|
69
|
+
* This file has been automatically generated. Do not edit,
|
70
|
+
* edit the specification file "variable.vsl" and the following
|
71
|
+
* files instead:
|
72
|
+
EOF
|
73
|
+
;
|
74
|
+
|
75
|
+
for ($f=0; $f<$n_files; $f++) {
|
76
|
+
print " * - $files[$f]\n";
|
77
|
+
}
|
78
|
+
|
79
|
+
print <<EOF
|
80
|
+
*
|
81
|
+
* This file contains generated code fragments which are
|
82
|
+
* copyrighted as follows:
|
83
|
+
*
|
84
|
+
* Main author:
|
85
|
+
* Christian Schulte <schulte\@gecode.org>
|
86
|
+
*
|
87
|
+
* Copyright:
|
88
|
+
* Christian Schulte, 2007
|
89
|
+
*
|
90
|
+
* The generated code fragments are part of Gecode, the generic
|
91
|
+
* constraint development environment:
|
92
|
+
* http://www.gecode.org
|
93
|
+
*
|
94
|
+
* Permission is hereby granted, free of charge, to any person obtaining
|
95
|
+
* a copy of this software and associated documentation files (the
|
96
|
+
* "Software"), to deal in the Software without restriction, including
|
97
|
+
* without limitation the rights to use, copy, modify, merge, publish,
|
98
|
+
* distribute, sublicense, and/or sell copies of the Software, and to
|
99
|
+
* permit persons to whom the Software is furnished to do so, subject to
|
100
|
+
* the following conditions:
|
101
|
+
*
|
102
|
+
* The above copyright notice and this permission notice shall be
|
103
|
+
* included in all copies or substantial portions of the Software.
|
104
|
+
*
|
105
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
106
|
+
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
107
|
+
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
108
|
+
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
109
|
+
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
110
|
+
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
111
|
+
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
112
|
+
*
|
113
|
+
*/
|
114
|
+
|
115
|
+
EOF
|
116
|
+
;
|
117
|
+
|
118
|
+
for ($f=0; $f<$n_files; $f++) {
|
119
|
+
open (FILE, $directory.$files[$f]) || die "Could not open ".$files[$f];
|
120
|
+
|
121
|
+
## General values
|
122
|
+
$name[$f] = "";
|
123
|
+
$vti[$f] = "";
|
124
|
+
$ifdef[$f] = "";
|
125
|
+
$endif[$f] = "";
|
126
|
+
$dispose[$f] = 0;
|
127
|
+
|
128
|
+
##
|
129
|
+
## Headers and footers
|
130
|
+
##
|
131
|
+
$mehdr[$f] = ""; # Header text for modification events
|
132
|
+
$meftr[$f] = ""; # Footer text for modification events
|
133
|
+
|
134
|
+
$pchdr[$f] = ""; # Header text for propagation conditions
|
135
|
+
$pcftr[$f] = ""; # Footer text for propagation conditions
|
136
|
+
|
137
|
+
##
|
138
|
+
## Real stuff
|
139
|
+
##
|
140
|
+
|
141
|
+
# $mec[$f] : combination table
|
142
|
+
# $men[$f] : name table
|
143
|
+
# $meh[$f] : header table
|
144
|
+
$me_n[$f] = 0; # running number of modification events
|
145
|
+
$me_subscribe[$f] = "";
|
146
|
+
|
147
|
+
# $pcn[$f] : name table
|
148
|
+
# $pch[$f] : header table
|
149
|
+
$pc_n[$f] = 0; # running number of propagation conditions
|
150
|
+
|
151
|
+
|
152
|
+
$free_bits[$f] = 0;
|
153
|
+
|
154
|
+
while ($l = <FILE>) {
|
155
|
+
LINE:
|
156
|
+
next if ($l =~ /^\#/);
|
157
|
+
last if ($l =~ /^\[End\]/io);
|
158
|
+
|
159
|
+
if ($l =~ /^\[General\]/io) {
|
160
|
+
while (($l = <FILE>) && !($l =~ /^\[/)) {
|
161
|
+
next if ($l =~ /^\#/);
|
162
|
+
if ($l =~ /^Name:\s*(\w+)/io) {
|
163
|
+
$name[$f] = $1;
|
164
|
+
$vti[$f] = uc($name[$f]);
|
165
|
+
} elsif ($l =~ /^Ifdef:\s*(\w+)/io) {
|
166
|
+
$ifdef[$f] = "#ifdef $1\n";
|
167
|
+
$endif[$f] = "#endif\n";
|
168
|
+
} elsif ($l =~ /^Dispose:\s*true/io) {
|
169
|
+
$dispose[$f] = 1;
|
170
|
+
} elsif ($l =~ /^Namespace:\s*([^ \t\r\n]+)/io) {
|
171
|
+
$namespace[$f] = $1;
|
172
|
+
} elsif ($l =~ /^Bits:\s*([^ \t\r\n]+)/io) {
|
173
|
+
$free_bits[$f] = $1+0;
|
174
|
+
}
|
175
|
+
}
|
176
|
+
goto LINE;
|
177
|
+
} elsif ($l =~ /^\[ModEventHeader\]/io) {
|
178
|
+
while (($l = <FILE>) && !($l =~ /^\[/)) {
|
179
|
+
next if ($l =~ /^\#/);
|
180
|
+
$mehdr[$f] = $mehdr[$f] . $l;
|
181
|
+
}
|
182
|
+
goto LINE;
|
183
|
+
} elsif ($l =~ /^\[ModEvent\]/io) {
|
184
|
+
$n = "";
|
185
|
+
$h = "";
|
186
|
+
|
187
|
+
while (($l = <FILE>) && !($l =~ /^\[/)) {
|
188
|
+
next if ($l =~ /^\#/);
|
189
|
+
if ($l =~ /^Name:\s*(\w+)\s*=\s*(\w+)/io) {
|
190
|
+
# Found a special modification event
|
191
|
+
$lhs = $1; $rhs = $2;
|
192
|
+
if (!($rhs eq "FAILED") && !($rhs eq "NONE") &&
|
193
|
+
!($rhs eq "ASSIGNED") && !($rhs eq "SUBSCRIBE")) {
|
194
|
+
die "Unknown special modification event: $rhs\n";
|
195
|
+
}
|
196
|
+
if ($rhs eq "SUBSCRIBE") {
|
197
|
+
$me_subscribe[$f] = "ME_$vti[$f]_$lhs";
|
198
|
+
} else {
|
199
|
+
$mespecial{$f}{$lhs} = $rhs;
|
200
|
+
if ($rhs eq "ASSIGNED") {
|
201
|
+
$me_assigned[$f] = "ME_$vti[$f]_$lhs";
|
202
|
+
} elsif ($rhs eq "FAILED") {
|
203
|
+
$me_failed[$f] = "ME_$vti[$f]_$lhs";
|
204
|
+
} els
|
205
|
+
}
|
206
|
+
$n = $lhs;
|
207
|
+
} elsif ($l =~ /^Name:\s*(\w+)/io) {
|
208
|
+
# Found a normal modification event
|
209
|
+
$n = $1;
|
210
|
+
} elsif ($l =~ /^Combine:\s*(.+)/io) {
|
211
|
+
# Found combination information
|
212
|
+
$combines = $1;
|
213
|
+
while ($combines =~ /(\w+)\s*=(\w+)/g) {
|
214
|
+
$mec{$f}{$n}{$1} = $2;
|
215
|
+
$mec{$f}{$1}{$n} = $2;
|
216
|
+
}
|
217
|
+
} else {
|
218
|
+
$h = $h . $l;
|
219
|
+
}
|
220
|
+
}
|
221
|
+
$men[$f][$me_n[$f]] = $n;
|
222
|
+
$meh[$f][$me_n[$f]] = $h;
|
223
|
+
$me_n[$f]++;
|
224
|
+
$mec{$f}{"NONE"}{$n} = $n;
|
225
|
+
$mec{$f}{$n}{"NONE"} = $n;
|
226
|
+
goto LINE;
|
227
|
+
} elsif ($l =~ /^\[ModEventFooter\]/io) {
|
228
|
+
while (($l = <FILE>) && !($l =~ /^\[/)) {
|
229
|
+
next if ($l =~ /^\#/);
|
230
|
+
$meftr[$f] = $meftr[$f] . $l;
|
231
|
+
}
|
232
|
+
goto LINE;
|
233
|
+
} elsif ($l =~ /^\[PropCondHeader\]/io) {
|
234
|
+
while (($l = <FILE>) && !($l =~ /^\[/)) {
|
235
|
+
next if ($l =~ /^\#/);
|
236
|
+
$pchdr[$f] = $pchdr[$f] . $l;
|
237
|
+
}
|
238
|
+
goto LINE;
|
239
|
+
} elsif ($l =~ /^\[PropCond\]/io) {
|
240
|
+
$n = "";
|
241
|
+
$h = "";
|
242
|
+
|
243
|
+
while (($l = <FILE>) && !($l =~ /^\[/)) {
|
244
|
+
next if ($l =~ /^\#/);
|
245
|
+
if ($l =~ /^Name:\s*(\w+)\s*=\s*(\w+)/io) {
|
246
|
+
# Found a special propagation condition
|
247
|
+
$lhs = $1; $rhs = $2;
|
248
|
+
if (!($rhs eq "ASSIGNED")) {
|
249
|
+
die "Unknown special propagation condition: $rhs\n";
|
250
|
+
}
|
251
|
+
$pcspecial{$f}{$lhs} = $rhs;
|
252
|
+
if ($rhs eq "ASSIGNED") {
|
253
|
+
$pc_assigned[$f] = "PC_$vti[$f]_$lhs";
|
254
|
+
}
|
255
|
+
$n = $lhs;
|
256
|
+
} elsif ($l =~ /^Name:\s*(\w+)/io) {
|
257
|
+
# Found a normal modification event
|
258
|
+
$n = $1;
|
259
|
+
} elsif ($l =~ /^ModEvents:\s*(.+)/io) {
|
260
|
+
# Found relation to modification events
|
261
|
+
$events = $1;
|
262
|
+
while ($events =~ /(\w+)/g) {
|
263
|
+
$mepc{$f}{$1}{$n} = 1;
|
264
|
+
}
|
265
|
+
} else {
|
266
|
+
$h = $h . $l;
|
267
|
+
}
|
268
|
+
}
|
269
|
+
$pcn[$f][$pc_n[$f]] = $n;
|
270
|
+
$pch[$f][$pc_n[$f]] = $h;
|
271
|
+
$pc_n[$f]++;
|
272
|
+
goto LINE;
|
273
|
+
} elsif ($l =~ /^\[PropCondFooter\]/io) {
|
274
|
+
while (($l = <FILE>) && !($l =~ /^\[/)) {
|
275
|
+
next if ($l =~ /^\#/);
|
276
|
+
$pcftr[$f] = $pcftr[$f] . $l;
|
277
|
+
}
|
278
|
+
goto LINE;
|
279
|
+
}
|
280
|
+
|
281
|
+
}
|
282
|
+
close FILE;
|
283
|
+
|
284
|
+
|
285
|
+
$maxpc[$f] = "PC_$vti[$f]_" . $pcn[$f][$pc_n[$f]-1];
|
286
|
+
$class[$f] = "$name[$f]VarImpBase";
|
287
|
+
$conf[$f] = "$name[$f]VarImpConf";
|
288
|
+
$base[$f] = "Gecode::VarImp<$namespace[$f]::$conf[$f]>";
|
289
|
+
# Generate namespace header and footer
|
290
|
+
foreach $ns (split('::',$namespace[$f])) {
|
291
|
+
$hdr[$f] = "$hdr[$f]namespace $ns { ";
|
292
|
+
$ftr[$f] = "$ftr[$f]}";
|
293
|
+
}
|
294
|
+
$hdr[$f] = "$hdr[$f]\n";
|
295
|
+
$ftr[$f] = "$ftr[$f]\n";
|
296
|
+
|
297
|
+
## Check whether there is only one real event
|
298
|
+
if ($me_n[$f] == 3) {
|
299
|
+
$me_subscribe[$f] = $me_assigned[$f];
|
300
|
+
}
|
301
|
+
|
302
|
+
$o = 2;
|
303
|
+
for ($i=0; $i<$me_n[$f]; $i++) {
|
304
|
+
$n = $men[$f][$i];
|
305
|
+
if ($mespecial{$f}{$n} eq "NONE") {
|
306
|
+
$val2me[$f][0] = $n;
|
307
|
+
} elsif ($mespecial{$f}{$n} eq "ASSIGNED") {
|
308
|
+
$val2me[$f][1] = $n;
|
309
|
+
} elsif (!$mespecial{$f}{$n}) {
|
310
|
+
$val2me[$f][$o] = $n; $o++;
|
311
|
+
}
|
312
|
+
}
|
313
|
+
$me_max[$f] = "ME_$vti[$f]_" . $val2me[$f][$o-1] . "+1";
|
314
|
+
$me_max_n[$f] = $o;
|
315
|
+
|
316
|
+
$len = 0;
|
317
|
+
for ($i=0; $i<$me_max_n[$f];$i++) {
|
318
|
+
$n = $val2me[$f][$i];
|
319
|
+
$me_a{$f}{$n} = "ME_$vti[$f]_$n";
|
320
|
+
if (length($me_a{$f}{$n}) > $len) {
|
321
|
+
$len = length($me_a{$f}{$n});
|
322
|
+
}
|
323
|
+
}
|
324
|
+
for ($i=0; $i<$me_max_n[$f]; $i++) {
|
325
|
+
$n = $val2me[$f][$i];
|
326
|
+
while ($len > length($me_a{$f}{$n})) {
|
327
|
+
$me_a{$f}{$n} = "$me_a{$f}{$n} ";
|
328
|
+
}
|
329
|
+
}
|
330
|
+
|
331
|
+
for ($b=1; (1 << $b) < $me_max_n[$f]; $b++) {}
|
332
|
+
$bits[$f] = $b;
|
333
|
+
}
|
334
|
+
|
335
|
+
if ($gen_typeicc) {
|
336
|
+
for ($f = 0; $f<$n_files; $f++) {
|
337
|
+
print $ifdef[$f];
|
338
|
+
print $hdr[$f];
|
339
|
+
print $mehdr[$f];
|
340
|
+
$o = 1;
|
341
|
+
for ($i=0; $i<$me_n[$f]; $i++) {
|
342
|
+
$n = $men[$f][$i];
|
343
|
+
print $meh[$f][$i];
|
344
|
+
print " const Gecode::ModEvent ME_" . $vti[$f] . "_${n} = ";
|
345
|
+
if ($mespecial{$f}{$n}) {
|
346
|
+
print "Gecode::ME_GEN_" . $mespecial{$f}{$n};
|
347
|
+
} else {
|
348
|
+
print "Gecode::ME_GEN_ASSIGNED + " . $o;
|
349
|
+
$o++;
|
350
|
+
}
|
351
|
+
print ";\n";
|
352
|
+
}
|
353
|
+
|
354
|
+
print $meftr[$f];
|
355
|
+
print $pchdr[$f];
|
356
|
+
|
357
|
+
print " /// Propagation condition to be ignored (convenience)\n";
|
358
|
+
print " const Gecode::PropCond PC_$vti[$f]_NONE = Gecode::PC_GEN_NONE;\n";
|
359
|
+
$o = 1;
|
360
|
+
for ($i=0; $i<$pc_n[$f]; $i++) {
|
361
|
+
$n = $pcn[$f][$i];
|
362
|
+
print $pch[$f][$i];
|
363
|
+
print " const Gecode::PropCond PC_$vti[$f]_${n} = ";
|
364
|
+
if ($pcspecial{$f}{$n}) {
|
365
|
+
$pc_assigned[$f] = "PC_$vti[$f]_${n}";
|
366
|
+
print "Gecode::PC_GEN_" . $pcspecial{$f}{$n};
|
367
|
+
} else {
|
368
|
+
print "Gecode::PC_GEN_ASSIGNED + " . $o;
|
369
|
+
$o++;
|
370
|
+
}
|
371
|
+
print ";\n";
|
372
|
+
}
|
373
|
+
print $pcftr[$f];
|
374
|
+
print $ftr[$f];
|
375
|
+
print $endif[$f];
|
376
|
+
}
|
377
|
+
|
378
|
+
|
379
|
+
for ($f = 0; $f<$n_files; $f++) {
|
380
|
+
print $ifdef[$f];
|
381
|
+
if ($dispose[$f]) {
|
382
|
+
print "\n#ifndef GECODE_HAS_VAR_DISPOSE\n";
|
383
|
+
print "#define GECODE_HAS_VAR_DISPOSE 1\n";
|
384
|
+
print "#endif\n\n";
|
385
|
+
}
|
386
|
+
print $hdr[$f];
|
387
|
+
print " /// Configuration for $name[$f]-variable implementations\n";
|
388
|
+
print " class $conf[$f] {\n";
|
389
|
+
print " public:\n";
|
390
|
+
print " /// Index for cloning\n";
|
391
|
+
print " static const int idx_c = ";
|
392
|
+
if ($f == 0) {
|
393
|
+
print "0;\n";
|
394
|
+
} else {
|
395
|
+
print "$namespace[$f-1]::$conf[$f-1]::idx_c+1;\n";
|
396
|
+
}
|
397
|
+
print " /// Index for disposal\n";
|
398
|
+
print " static const int idx_d = ";
|
399
|
+
if ($dispose[$f]) {
|
400
|
+
if ($f == 0) {
|
401
|
+
print "0;\n";
|
402
|
+
} else {
|
403
|
+
print "$namespace[$f-1]::$conf[$f-1]::idx_d+1;\n";
|
404
|
+
}
|
405
|
+
} else {
|
406
|
+
if ($f == 0) {
|
407
|
+
print "-1;\n";
|
408
|
+
} else {
|
409
|
+
print "$namespace[$f-1]::$conf[$f-1]::idx_d;\n";
|
410
|
+
}
|
411
|
+
}
|
412
|
+
print " /// Maximal propagation condition\n";
|
413
|
+
print " static const Gecode::PropCond pc_max = $maxpc[$f];\n";
|
414
|
+
print " /// Freely available bits\n";
|
415
|
+
print " static const int free_bits = $free_bits[$f];\n";
|
416
|
+
print " /// Start of bits for modification event delta\n";
|
417
|
+
print " static const int med_fst = ";
|
418
|
+
if ($f == 0) {
|
419
|
+
print "0;\n";
|
420
|
+
} else {
|
421
|
+
print "$namespace[$f-1]::$conf[$f-1]::med_lst;\n";
|
422
|
+
}
|
423
|
+
print " /// End of bits for modification event delta\n";
|
424
|
+
print " static const int med_lst = med_fst + $bits[$f];\n";
|
425
|
+
print " /// Bitmask for modification event delta\n";
|
426
|
+
print " static const int med_mask = ((1 << $bits[$f]) - 1) << med_fst;\n";
|
427
|
+
print " /// Combine modification events \\a me1 and \\a me2\n";
|
428
|
+
print " static Gecode::ModEvent me_combine(Gecode::ModEvent me1, Gecode::ModEvent me2);\n";
|
429
|
+
print " /// Update modification even delta \\a med by \\a me, return true on change\n";
|
430
|
+
print " static bool med_update(Gecode::ModEventDelta& med, Gecode::ModEvent me);\n";
|
431
|
+
print " /// Variable type identifier for reflection\n";
|
432
|
+
print " static GECODE_KERNEL_EXPORT const Gecode::Support::Symbol vti;\n";
|
433
|
+
print " };\n";
|
434
|
+
print $ftr[$f];
|
435
|
+
if (!($ifdef[$f] eq "")) {
|
436
|
+
print "#else\n";
|
437
|
+
print $hdr[$f];
|
438
|
+
print " /// Dummy configuration for $name[$f]-variable implementations\n";
|
439
|
+
print " class $conf[$f] {\n";
|
440
|
+
print " public:\n";
|
441
|
+
print " /// Index for cloning\n";
|
442
|
+
print " static const int idx_c = ";
|
443
|
+
if ($f == 0) {
|
444
|
+
print "-1;\n";
|
445
|
+
} else {
|
446
|
+
print "$namespace[$f-1]::$conf[$f-1]::idx_c;\n";
|
447
|
+
}
|
448
|
+
print " /// Index for disposal\n";
|
449
|
+
print " static const int idx_d = ";
|
450
|
+
if ($f == 0) {
|
451
|
+
print "-1;\n";
|
452
|
+
} else {
|
453
|
+
print "$namespace[$f-1]::$conf[$f-1]::idx_d;\n";
|
454
|
+
}
|
455
|
+
print " /// End of bits for modification event delta\n";
|
456
|
+
print " static const int med_lst = ";
|
457
|
+
if ($f == 0) {
|
458
|
+
print "0;\n";
|
459
|
+
} else {
|
460
|
+
print "$namespace[$f-1]::$conf[$f-1]::med_lst;\n";
|
461
|
+
}
|
462
|
+
print " };\n";
|
463
|
+
print $ftr[$f];
|
464
|
+
}
|
465
|
+
print $endif[$f];
|
466
|
+
}
|
467
|
+
print "\n";
|
468
|
+
print "namespace Gecode {\n\n";
|
469
|
+
print " /// Configuration for all variable implementations\n";
|
470
|
+
print " class AllVarConf {\n";
|
471
|
+
print " public:\n";
|
472
|
+
print " /// Index for cloning\n";
|
473
|
+
print " static const int idx_c = $namespace[$n_files-1]::$conf[$n_files-1]::idx_c+1;\n";
|
474
|
+
print " /// Index for dispose\n";
|
475
|
+
print " static const int idx_d = $namespace[$n_files-1]::$conf[$n_files-1]::idx_d+1;\n";
|
476
|
+
print " /// Combine modification event delta \\a med1 with \\a med2\n";
|
477
|
+
print " static ModEventDelta med_combine(ModEventDelta med1, ModEventDelta med2);\n";
|
478
|
+
print " };\n\n}\n\n";
|
479
|
+
for ($f = 0; $f<$n_files; $f++) {
|
480
|
+
print $ifdef[$f];
|
481
|
+
print $hdr[$f];
|
482
|
+
print " forceinline Gecode::ModEvent\n";
|
483
|
+
print " $conf[$f]::me_combine(Gecode::ModEvent me1, Gecode::ModEvent me2) {\n";
|
484
|
+
|
485
|
+
if ($me_max_n[$f] == 2) {
|
486
|
+
print " return me1 | me2;\n";
|
487
|
+
} elsif ($me_max_n[$f] <= 4) {
|
488
|
+
print " static const Gecode::ModEvent me_c = (\n";
|
489
|
+
|
490
|
+
for ($i=0; $i<$me_max_n[$f];$i++) {
|
491
|
+
$n1 = $val2me[$f][$i];
|
492
|
+
print " (\n";
|
493
|
+
for ($j=0; $j<$me_max_n[$f];$j++) {
|
494
|
+
$n2 = $val2me[$f][$j];
|
495
|
+
$n3 = $mec{$f}{$n1}{$n2};
|
496
|
+
$shift = (($i << 3) + ($j << 1));
|
497
|
+
if ($shift < 10) {
|
498
|
+
$shift = " $shift";
|
499
|
+
}
|
500
|
+
print " ($me_a{$f}{$n3} << $shift)";
|
501
|
+
if ($j+1 == $me_max_n[$f]) {
|
502
|
+
print " ";
|
503
|
+
} else {
|
504
|
+
print " | ";
|
505
|
+
}
|
506
|
+
print " // [$me_a{$f}{$n1}][$me_a{$f}{$n2}]\n";
|
507
|
+
}
|
508
|
+
if ($i+1 == $me_max_n[$f]) {
|
509
|
+
print " )\n";
|
510
|
+
} else {
|
511
|
+
print " ) |\n";
|
512
|
+
}
|
513
|
+
}
|
514
|
+
print " );\n";
|
515
|
+
print " return ((me_c >> (me2 << 3)) >> (me1 << 1)) & 3;\n";
|
516
|
+
} else {
|
517
|
+
print " static const Gecode::ModEvent me_c[$me_max[$f]][$me_max[$f]] = {\n";
|
518
|
+
for ($i=0; $i<$me_max_n[$f];$i++) {
|
519
|
+
$n1 = $val2me[$f][$i];
|
520
|
+
print " {\n";
|
521
|
+
for ($j=0; $j<$me_max_n[$f];$j++) {
|
522
|
+
$n2 = $val2me[$f][$j];
|
523
|
+
$n3 = $mec{$f}{$n1}{$n2};
|
524
|
+
print " $me_a{$f}{$n3}";
|
525
|
+
if ($j+1 == $me_max_n[$f]) {
|
526
|
+
print " ";
|
527
|
+
} else {
|
528
|
+
print ",";
|
529
|
+
}
|
530
|
+
print " // [$me_a{$f}{$n1}][$me_a{$f}{$n2}]\n";
|
531
|
+
}
|
532
|
+
print " }";
|
533
|
+
if ($i+1 == $me_max_n[$f]) {
|
534
|
+
print "\n";
|
535
|
+
} else {
|
536
|
+
print ",\n";
|
537
|
+
}
|
538
|
+
}
|
539
|
+
print " };\n";
|
540
|
+
print " return me_c[me1][me2];\n";
|
541
|
+
}
|
542
|
+
print " }\n";
|
543
|
+
print " forceinline bool\n";
|
544
|
+
print " $conf[$f]::med_update(Gecode::ModEventDelta& med, Gecode::ModEvent me) {\n";
|
545
|
+
|
546
|
+
print " switch (me) {\n";
|
547
|
+
if ($me_max_n[$f] == 2) {
|
548
|
+
$ME_NONE = "ME_$vti[$f]_NONE";
|
549
|
+
if ($val2me[$f][0] eq "NONE") {
|
550
|
+
$ME_ASSIGNED = "ME_$vti[$f]_$val2me[$f][1]";
|
551
|
+
} else {
|
552
|
+
$ME_ASSIGNED = "ME_$vti[$f]_$val2me[$f][0]";
|
553
|
+
}
|
554
|
+
print " case $ME_NONE:\n";
|
555
|
+
print " return false;\n";
|
556
|
+
print " case $ME_ASSIGNED:\n";
|
557
|
+
print " if ((med & ($ME_ASSIGNED << med_fst)) != 0)\n";
|
558
|
+
print " return false;\n";
|
559
|
+
print " med |= $ME_ASSIGNED << med_fst;\n";
|
560
|
+
print " break;\n";
|
561
|
+
} else {
|
562
|
+
$lvti = lc($vti[$f]);
|
563
|
+
for ($i=0; $i<$me_max_n[$f];$i++) {
|
564
|
+
$n1 = $val2me[$f][$i];
|
565
|
+
$weak = 1;
|
566
|
+
for ($j=0; $j<$me_max_n[$f];$j++) {
|
567
|
+
$n2 = $val2me[$f][$j];
|
568
|
+
if (!($n2 eq "NONE") && !($n2 eq $n1) &&
|
569
|
+
!($mec{$f}{$n1}{$n2} eq $n2)) {
|
570
|
+
$weak = 0;
|
571
|
+
}
|
572
|
+
}
|
573
|
+
print " case ME_$vti[$f]_$n1:\n";
|
574
|
+
if ($n1 eq "NONE") {
|
575
|
+
print " return false;\n";
|
576
|
+
} elsif ($mespecial{$f}{$n1} eq "ASSIGNED") {
|
577
|
+
print " {\n";
|
578
|
+
print " Gecode::ModEventDelta med_$lvti = med & med_mask;\n";
|
579
|
+
print " if (med_$lvti == (ME_$vti[$f]_$n1 << med_fst))\n";
|
580
|
+
print " return false;\n";
|
581
|
+
print " med ^= med_$lvti;\n";
|
582
|
+
print " med ^= ME_$vti[$f]_$n1 << med_fst;\n";
|
583
|
+
print " break;\n";
|
584
|
+
print " }\n";
|
585
|
+
} elsif ($weak) {
|
586
|
+
print " {\n";
|
587
|
+
print " Gecode::ModEventDelta med_$lvti = med & med_mask;\n";
|
588
|
+
print " if (med_$lvti != 0)\n";
|
589
|
+
print " return false;\n";
|
590
|
+
print " med |= ME_$vti[$f]_$n1 << med_fst;\n";
|
591
|
+
print " break;\n";
|
592
|
+
print " }\n";
|
593
|
+
} else {
|
594
|
+
print " {\n";
|
595
|
+
if ($me_max_n[$f] <= 8) {
|
596
|
+
print " static const Gecode::ModEvent me_c = (\n";
|
597
|
+
for ($j=0; $j<$me_max_n[$f];$j++) {
|
598
|
+
$n2 = $val2me[$f][$j];
|
599
|
+
$n3 = $mec{$f}{$n1}{$n2};
|
600
|
+
$shift = $j << 2;
|
601
|
+
if ($shift < 10) {
|
602
|
+
$shift = " $shift";
|
603
|
+
}
|
604
|
+
print " (($me_a{$f}{$n2} ^ $me_a{$f}{$n3}) << $shift)";
|
605
|
+
if ($j+1 != $me_max_n[$f]) {
|
606
|
+
print " |\n";
|
607
|
+
}
|
608
|
+
}
|
609
|
+
print "\n );\n";
|
610
|
+
print " Gecode::ModEvent me_o = (med & med_mask) >> med_fst;\n";
|
611
|
+
print " Gecode::ModEvent me_n = (me_c >> (me_o << 2)) & (med_mask >> med_fst);\n";
|
612
|
+
print " if (me_n == 0)\n";
|
613
|
+
print " return false;\n";
|
614
|
+
print " med ^= me_n << med_fst;\n";
|
615
|
+
print " break;\n";
|
616
|
+
} else {
|
617
|
+
print " static const Gecode::ModEventDelta me_c[$me_max[$f]] = {\n";
|
618
|
+
for ($j=0; $j<$me_max_n[$f];$j++) {
|
619
|
+
$n2 = $val2me[$f][$j];
|
620
|
+
$n3 = $mec{$f}{$n1}{$n2};
|
621
|
+
print " ($me_a{$f}{$n2} ^ $me_a{$f}{$n3}) << med_fst";
|
622
|
+
if ($j+1 != $me_max_n[$f]) {
|
623
|
+
print ",\n";
|
624
|
+
}
|
625
|
+
}
|
626
|
+
print "\n };\n";
|
627
|
+
print " Gecode::ModEvent me_o = (med & med_mask) >> med_fst;\n";
|
628
|
+
print " Gecode::ModEventDelta med_n = me_c[me_o];\n";
|
629
|
+
print " if (med_n == 0)\n";
|
630
|
+
print " return false;\n";
|
631
|
+
print " med ^= med_n;\n";
|
632
|
+
print " break;\n";
|
633
|
+
}
|
634
|
+
print " }\n";
|
635
|
+
}
|
636
|
+
}
|
637
|
+
}
|
638
|
+
print " default: GECODE_NEVER;\n";
|
639
|
+
print " }\n";
|
640
|
+
print " return true;\n";
|
641
|
+
print " }\n\n";
|
642
|
+
print $ftr[$f];
|
643
|
+
print $endif[$f];
|
644
|
+
}
|
645
|
+
print "namespace Gecode {\n";
|
646
|
+
print " forceinline ModEventDelta\n";
|
647
|
+
print " AllVarConf::med_combine(ModEventDelta med1, ModEventDelta med2) {\n";
|
648
|
+
for ($f = 0; $f<$n_files; $f++) {
|
649
|
+
$vic = "$namespace[$f]::$conf[$f]";
|
650
|
+
print $ifdef[$f];
|
651
|
+
print " (void) ${vic}::med_update(med1,(med2 & ${vic}::med_mask) >> ${vic}::med_fst);\n";
|
652
|
+
print $endif[$f];
|
653
|
+
}
|
654
|
+
print " return med1;\n";
|
655
|
+
print " }\n}\n\n";
|
656
|
+
}
|
657
|
+
|
658
|
+
if ($gen_typecc) {
|
659
|
+
print "#include \"gecode/kernel.hh\"\n";
|
660
|
+
print "\n";
|
661
|
+
for ($f = 0; $f<$n_files; $f++) {
|
662
|
+
print $ifdef[$f];
|
663
|
+
print $hdr[$f];
|
664
|
+
print " const Gecode::Support::Symbol $conf[$f]::vti = \"$name[$f]\";\n";
|
665
|
+
print $ftr[$f];
|
666
|
+
print $endif[$f];
|
667
|
+
}
|
668
|
+
print "\n";
|
669
|
+
}
|
670
|
+
|
671
|
+
if ($gen_header) {
|
672
|
+
for ($f = 0; $f<$n_files; $f++) {
|
673
|
+
print $ifdef[$f];
|
674
|
+
print $hdr[$f];
|
675
|
+
print " /// Base-class for $name[$f]-variable implementations\n";
|
676
|
+
print " class $class[$f] : public $base[$f] {\n";
|
677
|
+
if ($dispose[$f]) {
|
678
|
+
print <<EOF
|
679
|
+
private:
|
680
|
+
/// Link to next variable, used for disposal
|
681
|
+
$class[$f]* _next_d;
|
682
|
+
EOF
|
683
|
+
;
|
684
|
+
}
|
685
|
+
|
686
|
+
print <<EOF
|
687
|
+
protected:
|
688
|
+
/// Constructor for cloning \\a x
|
689
|
+
$class[$f](Gecode::Space* home, bool share, $class[$f]\& x);
|
690
|
+
public:
|
691
|
+
/// Constructor for creating static instance of variable
|
692
|
+
$class[$f](void);
|
693
|
+
/// Constructor for creating variable
|
694
|
+
$class[$f](Gecode::Space* home);
|
695
|
+
/// \\name Dependencies
|
696
|
+
//\@{
|
697
|
+
/** \\brief Subscribe propagator \\a p with propagation condition \\a pc
|
698
|
+
*
|
699
|
+
* In case \\a schedule is false, the propagator is just subscribed but
|
700
|
+
* not scheduled for execution (this must be used when creating
|
701
|
+
* subscriptions during propagation).
|
702
|
+
*
|
703
|
+
* In case the variable is assigned (that is, \\a assigned is
|
704
|
+
* true), the subscribing propagator is scheduled for execution.
|
705
|
+
* Otherwise, the propagator subscribes and is scheduled for execution
|
706
|
+
* with modification event \\a me provided that \\a pc is different
|
707
|
+
* from \\a $pc_assigned[$f].
|
708
|
+
*/
|
709
|
+
void subscribe(Gecode::Space* home, Gecode::Propagator* p, Gecode::PropCond pc, bool assigned, bool schedule);
|
710
|
+
/// Subscribe advisor \\a a if \\a assigned is false.
|
711
|
+
void subscribe(Gecode::Space* home, Gecode::Advisor* a, bool assigned);
|
712
|
+
/// Notify that variable implementation has been modified with modification event \\a me and delta information \\a d
|
713
|
+
Gecode::ModEvent notify(Gecode::Space* home, Gecode::ModEvent me, Gecode::Delta* d);
|
714
|
+
//\@}
|
715
|
+
EOF
|
716
|
+
;
|
717
|
+
|
718
|
+
if ($dispose[$f]) {
|
719
|
+
print <<EOF
|
720
|
+
/// Return link to next variable to be disposed
|
721
|
+
$class[$f]* next_d(void) const;
|
722
|
+
EOF
|
723
|
+
;
|
724
|
+
}
|
725
|
+
|
726
|
+
print <<EOF
|
727
|
+
};
|
728
|
+
EOF
|
729
|
+
;
|
730
|
+
|
731
|
+
print $ftr[$f];
|
732
|
+
print $endif[$f];
|
733
|
+
|
734
|
+
|
735
|
+
}
|
736
|
+
|
737
|
+
for ($f = 0; $f<$n_files; $f++) {
|
738
|
+
print $ifdef[$f];
|
739
|
+
print $hdr[$f];
|
740
|
+
|
741
|
+
if ($dispose[$f]) {
|
742
|
+
print <<EOF
|
743
|
+
|
744
|
+
forceinline
|
745
|
+
$class[$f]::$class[$f](void) {}
|
746
|
+
|
747
|
+
forceinline
|
748
|
+
$class[$f]::$class[$f](Gecode::Space* home)
|
749
|
+
: $base[$f](home) {
|
750
|
+
_next_d = static_cast<$class[$f]*>(vars_d(home)); vars_d(home,this);
|
751
|
+
}
|
752
|
+
|
753
|
+
forceinline
|
754
|
+
$class[$f]::$class[$f](Gecode::Space* home, bool share, $class[$f]\& x)
|
755
|
+
: $base[$f](home,share,x) {
|
756
|
+
_next_d = static_cast<$class[$f]*>(vars_d(home)); vars_d(home,this);
|
757
|
+
}
|
758
|
+
|
759
|
+
forceinline $class[$f]*
|
760
|
+
$class[$f]::next_d(void) const {
|
761
|
+
return _next_d;
|
762
|
+
}
|
763
|
+
|
764
|
+
EOF
|
765
|
+
;
|
766
|
+
} else {
|
767
|
+
print <<EOF
|
768
|
+
|
769
|
+
forceinline
|
770
|
+
$class[$f]::$class[$f](void) {}
|
771
|
+
|
772
|
+
forceinline
|
773
|
+
$class[$f]::$class[$f](Gecode::Space* home)
|
774
|
+
: $base[$f](home) {}
|
775
|
+
|
776
|
+
forceinline
|
777
|
+
$class[$f]::$class[$f](Gecode::Space* home, bool share, $class[$f]\& x)
|
778
|
+
: $base[$f](home,share,x) {}
|
779
|
+
EOF
|
780
|
+
;
|
781
|
+
}
|
782
|
+
print <<EOF
|
783
|
+
|
784
|
+
forceinline void
|
785
|
+
$class[$f]::subscribe(Gecode::Space* home, Gecode::Propagator* p, Gecode::PropCond pc, bool assigned, bool schedule) {
|
786
|
+
$base[$f]::subscribe(home,p,pc,assigned,$me_subscribe[$f],schedule);
|
787
|
+
}
|
788
|
+
forceinline void
|
789
|
+
$class[$f]::subscribe(Gecode::Space* home, Gecode::Advisor* a, bool assigned) {
|
790
|
+
$base[$f]::subscribe(home,a,assigned);
|
791
|
+
}
|
792
|
+
|
793
|
+
EOF
|
794
|
+
;
|
795
|
+
|
796
|
+
if ($me_max_n[$f] == 2) {
|
797
|
+
print <<EOF
|
798
|
+
forceinline Gecode::ModEvent
|
799
|
+
$class[$f]::notify(Gecode::Space* home, Gecode::ModEvent, Gecode::Delta* d) {
|
800
|
+
schedule(home,$pc_assigned[$f],$pc_assigned[$f],$me_assigned[$f]);
|
801
|
+
if (!$base[$f]::advise(home,$me_assigned[$f],d))
|
802
|
+
return $me_failed[$f];
|
803
|
+
cancel(home);
|
804
|
+
return $me_assigned[$f];
|
805
|
+
}
|
806
|
+
|
807
|
+
EOF
|
808
|
+
;
|
809
|
+
} else {
|
810
|
+
print <<EOF
|
811
|
+
forceinline Gecode::ModEvent
|
812
|
+
$class[$f]::notify(Gecode::Space* home, Gecode::ModEvent me, Gecode::Delta* d) {
|
813
|
+
switch (me) {
|
814
|
+
EOF
|
815
|
+
;
|
816
|
+
|
817
|
+
for ($i=0; $i<$pc_n[$f]; $i++) {
|
818
|
+
if ($pcspecial{$f}{$pcn[$f][$i]} eq "ASSIGNED") {
|
819
|
+
$val2pc[$f][0] = $pcn[$f][$i];
|
820
|
+
}
|
821
|
+
}
|
822
|
+
$o = 1;
|
823
|
+
for ($i=0; $i<$pc_n[$f]; $i++) {
|
824
|
+
if (!($pcspecial{$f}{$pcn[$f][$i]} eq "ASSIGNED")) {
|
825
|
+
$val2pc[$f][$o] = $pcn[$f][$i]; $o++;
|
826
|
+
}
|
827
|
+
}
|
828
|
+
|
829
|
+
for ($i=0; $i<$me_n[$f]; $i++) {
|
830
|
+
$n = $men[$f][$i];
|
831
|
+
if (!($mespecial{$f}{$n} eq "NONE") && !($mespecial{$f}{$n} eq "FAILED")) {
|
832
|
+
print " case ME_$vti[$f]_$n:\n";
|
833
|
+
print " // Conditions: ";
|
834
|
+
$fst = 1;
|
835
|
+
for ($j=0; $j<$pc_n[$f]; $j++) {
|
836
|
+
if ($mepc{$f}{$men[$f][$i]}{$pcn[$f][$j]}) {
|
837
|
+
if ($fst) {
|
838
|
+
$fst = 0;
|
839
|
+
} else {
|
840
|
+
print ", ";
|
841
|
+
}
|
842
|
+
print $pcn[$f][$j];
|
843
|
+
}
|
844
|
+
}
|
845
|
+
print "\n";
|
846
|
+
for ($j=0; $j<$pc_n[$f]; $j++) {
|
847
|
+
if ($mepc{$f}{$men[$f][$i]}{$val2pc[$f][$j]}) {
|
848
|
+
# Found initial entry (plus one for stopping)
|
849
|
+
print " schedule(home,PC_$vti[$f]_" . $val2pc[$f][$j] . ",";
|
850
|
+
# Look for all connected entries
|
851
|
+
while ($mepc{$f}{$men[$f][$i]}{$val2pc[$f][$j+1]}) {
|
852
|
+
$j++;
|
853
|
+
}
|
854
|
+
# Found last entry
|
855
|
+
print "PC_$vti[$f]_" . $val2pc[$f][$j] . ",ME_$vti[$f]_$n);\n";
|
856
|
+
}
|
857
|
+
}
|
858
|
+
print " if (!$base[$f]::advise(home,ME_$vti[$f]_$n,d))\n";
|
859
|
+
print " return $me_failed[$f];\n";
|
860
|
+
if ($mespecial{$f}{$n} eq "ASSIGNED") {
|
861
|
+
print " cancel(home);\n";
|
862
|
+
}
|
863
|
+
print " break;\n";
|
864
|
+
}
|
865
|
+
}
|
866
|
+
|
867
|
+
|
868
|
+
print <<EOF
|
869
|
+
default: GECODE_NEVER;
|
870
|
+
}
|
871
|
+
return me;
|
872
|
+
}
|
873
|
+
|
874
|
+
EOF
|
875
|
+
;
|
876
|
+
}
|
877
|
+
print $ftr[$f];
|
878
|
+
print $endif[$f];
|
879
|
+
}
|
880
|
+
|
881
|
+
print <<EOF
|
882
|
+
namespace Gecode {
|
883
|
+
|
884
|
+
forceinline void
|
885
|
+
Space::update(ActorLink** sub) {
|
886
|
+
EOF
|
887
|
+
;
|
888
|
+
|
889
|
+
for ($f = 0; $f<$n_files; $f++) {
|
890
|
+
print $ifdef[$f];
|
891
|
+
print " $base[$f]::update(this,sub);\n";
|
892
|
+
print $endif[$f];
|
893
|
+
}
|
894
|
+
|
895
|
+
print <<EOF
|
896
|
+
}
|
897
|
+
}
|
898
|
+
EOF
|
899
|
+
;
|
900
|
+
|
901
|
+
|
902
|
+
|
903
|
+
}
|
904
|
+
|
905
|
+
print "// STATISTICS: kernel-var\n";
|