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
@@ -1,124 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* Main authors:
|
3
|
-
* Guido Tack <tack@gecode.org>
|
4
|
-
*
|
5
|
-
* Copyright:
|
6
|
-
* Guido Tack, 2006
|
7
|
-
*
|
8
|
-
* Last modified:
|
9
|
-
* $Date: 2008-02-19 11:05:15 +0100 (Tue, 19 Feb 2008) $ by $Author: tack $
|
10
|
-
* $Revision: 6231 $
|
11
|
-
*
|
12
|
-
* This file is part of Gecode, the generic constraint
|
13
|
-
* development environment:
|
14
|
-
* http://www.gecode.org
|
15
|
-
*
|
16
|
-
* Permission is hereby granted, free of charge, to any person obtaining
|
17
|
-
* a copy of this software and associated documentation files (the
|
18
|
-
* "Software"), to deal in the Software without restriction, including
|
19
|
-
* without limitation the rights to use, copy, modify, merge, publish,
|
20
|
-
* distribute, sublicense, and/or sell copies of the Software, and to
|
21
|
-
* permit persons to whom the Software is furnished to do so, subject to
|
22
|
-
* the following conditions:
|
23
|
-
*
|
24
|
-
* The above copyright notice and this permission notice shall be
|
25
|
-
* included in all copies or substantial portions of the Software.
|
26
|
-
*
|
27
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
28
|
-
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
29
|
-
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
30
|
-
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
31
|
-
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
32
|
-
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
33
|
-
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
34
|
-
*
|
35
|
-
*/
|
36
|
-
|
37
|
-
#include "gecode/gist/nodecursor.hh"
|
38
|
-
#include "gecode/gist/shapelist.hh"
|
39
|
-
|
40
|
-
namespace Gecode { namespace Gist {
|
41
|
-
|
42
|
-
LayoutCursor::LayoutCursor(VisualNode* theNode)
|
43
|
-
: NodeCursor<VisualNode>(theNode) {}
|
44
|
-
|
45
|
-
bool
|
46
|
-
LayoutCursor::mayMoveDownwards(void) {
|
47
|
-
return NodeCursor<VisualNode>::mayMoveDownwards() &&
|
48
|
-
node()->isDirty() /*&&
|
49
|
-
(! n->isHidden() )*/;
|
50
|
-
}
|
51
|
-
|
52
|
-
void
|
53
|
-
LayoutCursor::processCurrentNode() {
|
54
|
-
VisualNode* currentNode = node();
|
55
|
-
if (currentNode->isDirty()) {
|
56
|
-
Extent extent(20);
|
57
|
-
int numberOfChildren = currentNode->getNumberOfChildren();
|
58
|
-
Shape* shape;
|
59
|
-
if (numberOfChildren == -1) {
|
60
|
-
shape = new Shape(extent);
|
61
|
-
} else if (currentNode->isHidden()) {
|
62
|
-
shape = new Shape(&VisualNode::unitShape);
|
63
|
-
} else if (numberOfChildren == 0) {
|
64
|
-
shape = new Shape(extent);
|
65
|
-
} else {
|
66
|
-
ShapeList childShapes(numberOfChildren, 10);
|
67
|
-
for (int i=0; i<numberOfChildren; i++) {
|
68
|
-
childShapes[i]=currentNode->getChild(i)->getShape();
|
69
|
-
}
|
70
|
-
|
71
|
-
Shape* subtreeShape =
|
72
|
-
childShapes.getMergedShape(currentNode->getStatus() == STEP);
|
73
|
-
subtreeShape->extend(- extent.l, - extent.r);
|
74
|
-
shape = new Shape(extent, subtreeShape);
|
75
|
-
delete subtreeShape;
|
76
|
-
for (int i=0; i<numberOfChildren; i++) {
|
77
|
-
currentNode->getChild(i)->setOffset(childShapes.getOffsetOfChild(i));
|
78
|
-
}
|
79
|
-
}
|
80
|
-
currentNode->setShape(shape);
|
81
|
-
currentNode->setBoundingBox(shape->getBoundingBox());
|
82
|
-
currentNode->setDirty(false);
|
83
|
-
}
|
84
|
-
if (currentNode->getNumberOfChildren() >= 1)
|
85
|
-
currentNode->setChildrenLayoutDone(true);
|
86
|
-
}
|
87
|
-
|
88
|
-
HideFailedCursor::HideFailedCursor(VisualNode* root) : NodeCursor<VisualNode>(root) {}
|
89
|
-
|
90
|
-
bool
|
91
|
-
HideFailedCursor::mayMoveDownwards(void) {
|
92
|
-
VisualNode* n = node();
|
93
|
-
return NodeCursor<VisualNode>::mayMoveDownwards() &&
|
94
|
-
(n->hasSolvedChildren() || n->getNoOfOpenChildren() > 0) &&
|
95
|
-
(! n->isHidden());
|
96
|
-
}
|
97
|
-
|
98
|
-
void
|
99
|
-
HideFailedCursor::processCurrentNode(void) {
|
100
|
-
VisualNode* n = node();
|
101
|
-
if ((n->getStatus() == BRANCH ||
|
102
|
-
((n->getStatus() == SPECIAL || n->getStatus() == STEP) && n->hasFailedChildren())) &&
|
103
|
-
!n->hasSolvedChildren() &&
|
104
|
-
n->getNoOfOpenChildren() == 0) {
|
105
|
-
n->setHidden(true);
|
106
|
-
n->setChildrenLayoutDone(false);
|
107
|
-
n->dirtyUp();
|
108
|
-
}
|
109
|
-
}
|
110
|
-
|
111
|
-
UnhideAllCursor::UnhideAllCursor(VisualNode* root) : NodeCursor<VisualNode>(root) {}
|
112
|
-
|
113
|
-
void
|
114
|
-
UnhideAllCursor::processCurrentNode(void) {
|
115
|
-
VisualNode* n = node();
|
116
|
-
if (n->isHidden()) {
|
117
|
-
n->setHidden(false);
|
118
|
-
n->dirtyUp();
|
119
|
-
}
|
120
|
-
}
|
121
|
-
|
122
|
-
}}
|
123
|
-
|
124
|
-
// STATISTICS: gist-any
|
@@ -1,122 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* Main authors:
|
3
|
-
* Guido Tack <tack@gecode.org>
|
4
|
-
*
|
5
|
-
* Copyright:
|
6
|
-
* Guido Tack, 2006
|
7
|
-
*
|
8
|
-
* Last modified:
|
9
|
-
* $Date: 2007-11-26 15:48:52 +0100 (Mon, 26 Nov 2007) $ by $Author: tack $
|
10
|
-
* $Revision: 5437 $
|
11
|
-
*
|
12
|
-
* This file is part of Gecode, the generic constraint
|
13
|
-
* development environment:
|
14
|
-
* http://www.gecode.org
|
15
|
-
*
|
16
|
-
* Permission is hereby granted, free of charge, to any person obtaining
|
17
|
-
* a copy of this software and associated documentation files (the
|
18
|
-
* "Software"), to deal in the Software without restriction, including
|
19
|
-
* without limitation the rights to use, copy, modify, merge, publish,
|
20
|
-
* distribute, sublicense, and/or sell copies of the Software, and to
|
21
|
-
* permit persons to whom the Software is furnished to do so, subject to
|
22
|
-
* the following conditions:
|
23
|
-
*
|
24
|
-
* The above copyright notice and this permission notice shall be
|
25
|
-
* included in all copies or substantial portions of the Software.
|
26
|
-
*
|
27
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
28
|
-
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
29
|
-
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
30
|
-
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
31
|
-
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
32
|
-
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
33
|
-
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
34
|
-
*
|
35
|
-
*/
|
36
|
-
|
37
|
-
#ifndef GECODE_GIST_NODECURSOR_HH
|
38
|
-
#define GECODE_GIST_NODECURSOR_HH
|
39
|
-
|
40
|
-
#include "gecode/gist/visualnode.hh"
|
41
|
-
|
42
|
-
namespace Gecode { namespace Gist {
|
43
|
-
|
44
|
-
/// \brief A cursor that can be run over a tree
|
45
|
-
template <class Node>
|
46
|
-
class NodeCursor {
|
47
|
-
private:
|
48
|
-
/// The node where the iteration starts
|
49
|
-
Node* _startNode;
|
50
|
-
/// The current node
|
51
|
-
Node* _node;
|
52
|
-
public:
|
53
|
-
/// Construct cursor, initially set to \a theNode
|
54
|
-
NodeCursor(Node* theNode);
|
55
|
-
/// Return current node
|
56
|
-
Node* node(void);
|
57
|
-
|
58
|
-
/// \name Cursor interface
|
59
|
-
//@{
|
60
|
-
/// Test if the cursor may move to the parent node
|
61
|
-
bool mayMoveUpwards(void);
|
62
|
-
/// Move cursor to the parent node
|
63
|
-
void moveUpwards(void);
|
64
|
-
/// Test if cursor may move to the first child node
|
65
|
-
bool mayMoveDownwards(void);
|
66
|
-
/// Move cursor to the first child node
|
67
|
-
void moveDownwards(void);
|
68
|
-
/// Test if cursor may move to the first sibling
|
69
|
-
bool mayMoveSidewards(void);
|
70
|
-
/// Move cursor to the first sibling
|
71
|
-
void moveSidewards(void);
|
72
|
-
//@}
|
73
|
-
};
|
74
|
-
|
75
|
-
/// \brief A cursor that computes a tree layout for VisualNodes
|
76
|
-
class LayoutCursor : public NodeCursor<VisualNode> {
|
77
|
-
public:
|
78
|
-
/// Constructor
|
79
|
-
LayoutCursor(VisualNode* theNode);
|
80
|
-
|
81
|
-
/// \name Cursor interface
|
82
|
-
//@{
|
83
|
-
/// Test if the cursor may move to the first child node
|
84
|
-
bool mayMoveDownwards(void);
|
85
|
-
/// Compute layout for current node
|
86
|
-
void processCurrentNode(void);
|
87
|
-
//@}
|
88
|
-
};
|
89
|
-
|
90
|
-
/// \brief A cursor that marks failed subtrees as hidden
|
91
|
-
class HideFailedCursor : public NodeCursor<VisualNode> {
|
92
|
-
public:
|
93
|
-
/// Constructor
|
94
|
-
HideFailedCursor(VisualNode* theNode);
|
95
|
-
/// \name Cursor interface
|
96
|
-
//@{
|
97
|
-
/// Test if the cursor may move to the first child node
|
98
|
-
bool mayMoveDownwards(void);
|
99
|
-
/// Process node
|
100
|
-
void processCurrentNode(void);
|
101
|
-
//@}
|
102
|
-
};
|
103
|
-
|
104
|
-
/// \brief A cursor that marks all nodes in the tree as not hidden
|
105
|
-
class UnhideAllCursor : public NodeCursor<VisualNode> {
|
106
|
-
public:
|
107
|
-
/// Constructor
|
108
|
-
UnhideAllCursor(VisualNode* theNode);
|
109
|
-
/// \name Cursor interface
|
110
|
-
//@{
|
111
|
-
/// Process node
|
112
|
-
void processCurrentNode(void);
|
113
|
-
//@}
|
114
|
-
};
|
115
|
-
|
116
|
-
}}
|
117
|
-
|
118
|
-
#include "gecode/gist/nodecursor.icc"
|
119
|
-
|
120
|
-
#endif
|
121
|
-
|
122
|
-
// STATISTICS: gist-any
|
@@ -1,79 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* Main authors:
|
3
|
-
* Guido Tack <tack@gecode.org>
|
4
|
-
*
|
5
|
-
* Copyright:
|
6
|
-
* Guido Tack, 2006
|
7
|
-
*
|
8
|
-
* Last modified:
|
9
|
-
* $Date: 2007-11-25 22:16:57 +0100 (Sun, 25 Nov 2007) $ by $Author: tack $
|
10
|
-
* $Revision: 5420 $
|
11
|
-
*
|
12
|
-
* This file is part of Gecode, the generic constraint
|
13
|
-
* development environment:
|
14
|
-
* http://www.gecode.org
|
15
|
-
*
|
16
|
-
* Permission is hereby granted, free of charge, to any person obtaining
|
17
|
-
* a copy of this software and associated documentation files (the
|
18
|
-
* "Software"), to deal in the Software without restriction, including
|
19
|
-
* without limitation the rights to use, copy, modify, merge, publish,
|
20
|
-
* distribute, sublicense, and/or sell copies of the Software, and to
|
21
|
-
* permit persons to whom the Software is furnished to do so, subject to
|
22
|
-
* the following conditions:
|
23
|
-
*
|
24
|
-
* The above copyright notice and this permission notice shall be
|
25
|
-
* included in all copies or substantial portions of the Software.
|
26
|
-
*
|
27
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
28
|
-
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
29
|
-
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
30
|
-
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
31
|
-
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
32
|
-
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
33
|
-
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
34
|
-
*
|
35
|
-
*/
|
36
|
-
|
37
|
-
namespace Gecode { namespace Gist {
|
38
|
-
|
39
|
-
template <class Node>
|
40
|
-
NodeCursor<Node>::NodeCursor(Node* theNode) : _startNode(theNode), _node(theNode) {}
|
41
|
-
|
42
|
-
template <class Node>
|
43
|
-
Node*
|
44
|
-
NodeCursor<Node>::node(void) { return _node; }
|
45
|
-
|
46
|
-
template <class Node>
|
47
|
-
bool
|
48
|
-
NodeCursor<Node>::mayMoveUpwards(void) { return _node != _startNode && !_node->isRoot(); }
|
49
|
-
|
50
|
-
template <class Node>
|
51
|
-
void
|
52
|
-
NodeCursor<Node>::moveUpwards(void) {
|
53
|
-
_node = static_cast<Node*>(_node->getParent());
|
54
|
-
}
|
55
|
-
|
56
|
-
template <class Node>
|
57
|
-
bool
|
58
|
-
NodeCursor<Node>::mayMoveDownwards(void) { return _node->getNumberOfChildren() > 0; }
|
59
|
-
|
60
|
-
template <class Node>
|
61
|
-
void
|
62
|
-
NodeCursor<Node>::moveDownwards(void) { _node = _node->getChild(0); }
|
63
|
-
|
64
|
-
template <class Node>
|
65
|
-
bool
|
66
|
-
NodeCursor<Node>::mayMoveSidewards(void) {
|
67
|
-
return (!_node->isRoot()) &&
|
68
|
-
(_node->getAlternative() < _node->getParent()->getNumberOfChildren() - 1);
|
69
|
-
}
|
70
|
-
|
71
|
-
template <class Node>
|
72
|
-
void
|
73
|
-
NodeCursor<Node>::moveSidewards(void) {
|
74
|
-
_node = static_cast<Node*>(_node->getParent()->getChild(_node->getAlternative()+1));
|
75
|
-
}
|
76
|
-
|
77
|
-
}}
|
78
|
-
|
79
|
-
// STATISTICS: gist-any
|
@@ -1,543 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* Main authors:
|
3
|
-
* Guido Tack <tack@gecode.org>
|
4
|
-
*
|
5
|
-
* Copyright:
|
6
|
-
* Guido Tack, 2006
|
7
|
-
*
|
8
|
-
* Last modified:
|
9
|
-
* $Date: 2008-03-04 13:54:11 +0100 (Tue, 04 Mar 2008) $ by $Author: tack $
|
10
|
-
* $Revision: 6405 $
|
11
|
-
*
|
12
|
-
* This file is part of Gecode, the generic constraint
|
13
|
-
* development environment:
|
14
|
-
* http://www.gecode.org
|
15
|
-
*
|
16
|
-
* Permission is hereby granted, free of charge, to any person obtaining
|
17
|
-
* a copy of this software and associated documentation files (the
|
18
|
-
* "Software"), to deal in the Software without restriction, including
|
19
|
-
* without limitation the rights to use, copy, modify, merge, publish,
|
20
|
-
* distribute, sublicense, and/or sell copies of the Software, and to
|
21
|
-
* permit persons to whom the Software is furnished to do so, subject to
|
22
|
-
* the following conditions:
|
23
|
-
*
|
24
|
-
* The above copyright notice and this permission notice shall be
|
25
|
-
* included in all copies or substantial portions of the Software.
|
26
|
-
*
|
27
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
28
|
-
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
29
|
-
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
30
|
-
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
31
|
-
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
32
|
-
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
33
|
-
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
34
|
-
*
|
35
|
-
*/
|
36
|
-
|
37
|
-
#include "gecode/gist/postscript.hh"
|
38
|
-
#include "gecode/gist/nodecursor.hh"
|
39
|
-
#include "gecode/gist/nodevisitor.hh"
|
40
|
-
#include <list>
|
41
|
-
|
42
|
-
namespace Gecode { namespace Gist {
|
43
|
-
|
44
|
-
/// \brief A postscript color
|
45
|
-
class PSColor {
|
46
|
-
public:
|
47
|
-
/// Red
|
48
|
-
double r;
|
49
|
-
/// Green
|
50
|
-
double g;
|
51
|
-
/// Blue
|
52
|
-
double b;
|
53
|
-
/// Constructor
|
54
|
-
PSColor(double r0, double g0, double b0);
|
55
|
-
/// Default constructor
|
56
|
-
PSColor(void);
|
57
|
-
};
|
58
|
-
|
59
|
-
PSColor::PSColor(double r0, double g0, double b0) : r(r0), g(g0), b(b0) {}
|
60
|
-
PSColor::PSColor(void) : r(0.0), g(0.0), b(0.0) {}
|
61
|
-
|
62
|
-
/// \brief A postscript bounding box
|
63
|
-
class PSBoundingBox {
|
64
|
-
public:
|
65
|
-
/// The minimal x coordinate
|
66
|
-
int minx;
|
67
|
-
/// The maximal x coordinate
|
68
|
-
int maxx;
|
69
|
-
/// The minimal y coordinate
|
70
|
-
int miny;
|
71
|
-
/// The maximal y coordinate
|
72
|
-
int maxy;
|
73
|
-
/// Constructor
|
74
|
-
PSBoundingBox(int minx0, int maxx0, int miny0, int maxy0);
|
75
|
-
/// Merge with \a b
|
76
|
-
void merge(const PSBoundingBox& b);
|
77
|
-
/// Translate by \a scale, \a translatex and \a translatey
|
78
|
-
void translate(double scale, double translatex, double translatey);
|
79
|
-
};
|
80
|
-
|
81
|
-
PSBoundingBox::PSBoundingBox(int minx0, int maxx0, int miny0, int maxy0) {
|
82
|
-
minx = minx0;
|
83
|
-
maxx = maxx0;
|
84
|
-
miny = miny0;
|
85
|
-
maxy = maxy0;
|
86
|
-
}
|
87
|
-
|
88
|
-
void
|
89
|
-
PSBoundingBox::merge(const PSBoundingBox& b) {
|
90
|
-
if (b.minx < minx) minx = b.minx;
|
91
|
-
if (b.maxx > maxx) maxx = b.maxx;
|
92
|
-
if (b.miny < miny) miny = b.miny;
|
93
|
-
if (b.maxy > maxy) maxy = b.maxy;
|
94
|
-
}
|
95
|
-
|
96
|
-
void
|
97
|
-
PSBoundingBox::translate(double scale, double translatex, double translatey) {
|
98
|
-
minx = static_cast<int> ((static_cast<double>(minx))*scale+translatex);
|
99
|
-
maxx = static_cast<int> ((static_cast<double>(maxx))*scale+translatex);
|
100
|
-
miny = static_cast<int> ((static_cast<double>(miny))*scale+translatey);
|
101
|
-
maxy = static_cast<int> ((static_cast<double>(maxy))*scale+translatey);
|
102
|
-
}
|
103
|
-
|
104
|
-
/// \brief Base class for a postscript path
|
105
|
-
class Path {
|
106
|
-
public:
|
107
|
-
/// Emit command for drawing the path to \a out
|
108
|
-
virtual void emit(std::ostream& out) = 0;
|
109
|
-
/// Compute bounding box of the path
|
110
|
-
virtual PSBoundingBox bb(void) = 0;
|
111
|
-
/// Destructor
|
112
|
-
virtual ~Path(void);
|
113
|
-
};
|
114
|
-
|
115
|
-
Path::~Path(void) {}
|
116
|
-
|
117
|
-
/// \brief A postscript path for drawing a triangle
|
118
|
-
class Triangle : public Path {
|
119
|
-
private:
|
120
|
-
int c1x, c1y, c2x, c2y, c3x, c3y;
|
121
|
-
PSColor outline;
|
122
|
-
PSColor fill;
|
123
|
-
|
124
|
-
public:
|
125
|
-
Triangle(int c1x0, int c1y0, int c2x0, int c2y0, int c3x0, int c3y0,
|
126
|
-
const PSColor& outline0, const PSColor& fill0);
|
127
|
-
virtual void emit(std::ostream& out);
|
128
|
-
virtual PSBoundingBox bb(void);
|
129
|
-
};
|
130
|
-
|
131
|
-
Triangle::Triangle(int c1x0, int c1y0, int c2x0, int c2y0, int c3x0, int c3y0,
|
132
|
-
const PSColor& outline0, const PSColor& fill0)
|
133
|
-
: c1x(c1x0), c1y(c1y0), c2x(c2x0), c2y(c2y0), c3x(c3x0), c3y(c3y0),
|
134
|
-
outline(outline0), fill(fill0) {}
|
135
|
-
|
136
|
-
void
|
137
|
-
Triangle::emit(std::ostream& out) {
|
138
|
-
out << "gsave\n";
|
139
|
-
out << c1x << " " << c1y << " moveto "<<c2x<<" "<<c2y<<" lineto ";
|
140
|
-
out << c3x<<" "<<c3y<<" lineto "<<c1x<<" "<<c1y<<" lineto\n";
|
141
|
-
out << fill.r<<" "<<fill.g<<" "<<fill.b<<" setrgbcolor\n";
|
142
|
-
out << "eofill\n";
|
143
|
-
out << c1x<<" "<<c1y<<" moveto "<<c2x<<" "<<c2y<<" lineto ";
|
144
|
-
out << c3x<<" "<<c3y<<" lineto "<<c1x<<" "<<c1y<<" lineto\n";
|
145
|
-
out << "1 setlinejoin 1 setlinecap\n";
|
146
|
-
out << "1 setlinewidth\n";
|
147
|
-
out << "[] 0 setdash\n";
|
148
|
-
out << outline.r<<" "<<outline.g<<" "<<outline.b<<" setrgbcolor\n";
|
149
|
-
out << "stroke\n";
|
150
|
-
out << "grestore\n";
|
151
|
-
}
|
152
|
-
|
153
|
-
PSBoundingBox
|
154
|
-
Triangle::bb(void) {
|
155
|
-
return PSBoundingBox(std::min(std::min(c1x,c2x),c3x),
|
156
|
-
std::max(std::max(c1x,c2x),c3x),
|
157
|
-
std::min(std::min(c1y,c2y),c3y),
|
158
|
-
std::max(std::max(c1y,c2y),c3y));
|
159
|
-
}
|
160
|
-
|
161
|
-
/// \brief A postscript path for drawing a circle
|
162
|
-
class Circle : public Path {
|
163
|
-
private:
|
164
|
-
int cx, cy, r;
|
165
|
-
PSColor outline;
|
166
|
-
PSColor fill;
|
167
|
-
|
168
|
-
public:
|
169
|
-
Circle(int cx0, int cy0, int r0, const PSColor& outline0, const PSColor& fill0);
|
170
|
-
virtual void emit(std::ostream& out);
|
171
|
-
virtual PSBoundingBox bb(void);
|
172
|
-
};
|
173
|
-
|
174
|
-
Circle::Circle(int cx0, int cy0, int r0, const PSColor& outline0, const PSColor& fill0)
|
175
|
-
: cx(cx0), cy(cy0), r(r0), outline(outline0), fill(fill0) {}
|
176
|
-
|
177
|
-
void
|
178
|
-
Circle::emit(std::ostream& out) {
|
179
|
-
out << "gsave\n";
|
180
|
-
out << "matrix currentmatrix\n";
|
181
|
-
out << cx << ".0 " << cy << ".0 translate " << r << ".0 " << r <<
|
182
|
-
".0 scale 1 0 moveto 0 0 1 0 360 arc\n";
|
183
|
-
out << "setmatrix\n";
|
184
|
-
out << fill.r << " " << fill.g << " " << fill.b << " setrgbcolor\n";
|
185
|
-
out << "fill\n";
|
186
|
-
out << "matrix currentmatrix\n";
|
187
|
-
out << cx << ".0 " << cy << ".0 translate " << r << ".0 " << r <<
|
188
|
-
".0 scale 1 0 moveto 0 0 1 0 360 arc\n";
|
189
|
-
out << "setmatrix\n";
|
190
|
-
out << "0 setlinejoin 2 setlinecap\n";
|
191
|
-
out << "1 setlinewidth\n";
|
192
|
-
out << "[] 0 setdash\n";
|
193
|
-
out << outline.r << " " << outline.g << " " << outline.b << " setrgbcolor\n";
|
194
|
-
out << "stroke\n";
|
195
|
-
out << "grestore\n";
|
196
|
-
}
|
197
|
-
|
198
|
-
PSBoundingBox
|
199
|
-
Circle::bb(void) {
|
200
|
-
return PSBoundingBox(cx-r,cx+r,cy-r,cy+r);
|
201
|
-
}
|
202
|
-
|
203
|
-
/// \brief A postscript path for drawing a diamond
|
204
|
-
class Diamond : public Path {
|
205
|
-
private:
|
206
|
-
int cx, cy, r;
|
207
|
-
PSColor outline;
|
208
|
-
PSColor fill;
|
209
|
-
|
210
|
-
public:
|
211
|
-
Diamond(int cx0, int cy0, int r0, const PSColor& outline0, const PSColor& fill0);
|
212
|
-
|
213
|
-
virtual void emit(std::ostream& out);
|
214
|
-
virtual PSBoundingBox bb(void);
|
215
|
-
};
|
216
|
-
|
217
|
-
Diamond::Diamond(int cx0, int cy0, int r0, const PSColor& outline0, const PSColor& fill0)
|
218
|
-
: cx(cx0), cy(cy0), r(r0), outline(outline0), fill(fill0) {}
|
219
|
-
|
220
|
-
void
|
221
|
-
Diamond::emit(std::ostream& out) {
|
222
|
-
double c1x = static_cast<double> (cx);
|
223
|
-
double c1y = static_cast<double> (cy);
|
224
|
-
double c2x = c1x + static_cast<double> (r);
|
225
|
-
double c2y = c1y + static_cast<double> (r);
|
226
|
-
double c3x = c1x;
|
227
|
-
double c3y = c1y + static_cast<double> (2*r);
|
228
|
-
double c4x = c1x - static_cast<double> (r);
|
229
|
-
double c4y = c2y;
|
230
|
-
|
231
|
-
out << "gsave\n";
|
232
|
-
out << c1x << " " << c1y << " moveto " << c2x << " " << c2y << " lineto ";
|
233
|
-
out << c3x << " " << c3y << " lineto " << c4x << " " << c4y << " lineto ";
|
234
|
-
out << c1x << " " << c1y << " lineto\n";
|
235
|
-
out << fill.r << " " << fill.g << " " << fill.b << " setrgbcolor\n";
|
236
|
-
out << "eofill\n";
|
237
|
-
out << c1x << " " << c1y << " moveto " << c2x << " " << c2y << " lineto ";
|
238
|
-
out << c3x << " " << c3y << " lineto " << c4x << " " << c4y << " lineto ";
|
239
|
-
out << c1x << " " << c1y << " lineto\n";
|
240
|
-
out << "1 setlinejoin 1 setlinecap\n";
|
241
|
-
out << "1 setlinewidth\n";
|
242
|
-
out << "[] 0 setdash\n";
|
243
|
-
out << outline.r << " " << outline.g << " " << outline.b << " setrgbcolor\n";
|
244
|
-
out << "stroke\n";
|
245
|
-
out << "grestore\n";
|
246
|
-
}
|
247
|
-
|
248
|
-
PSBoundingBox
|
249
|
-
Diamond::bb(void) {
|
250
|
-
return PSBoundingBox(cx-r,cx+r,cy-r,cy+r);
|
251
|
-
}
|
252
|
-
|
253
|
-
/// \brief A postscript path for drawing a rectangle
|
254
|
-
class Rectangle : public Path {
|
255
|
-
int c1x, c1y, c2x, c2y;
|
256
|
-
PSColor outline;
|
257
|
-
PSColor fill;
|
258
|
-
|
259
|
-
public:
|
260
|
-
Rectangle(int c1x0, int c1y0, int c2x0, int c2y0,
|
261
|
-
const PSColor& outline0, const PSColor& fill0);
|
262
|
-
|
263
|
-
virtual void emit(std::ostream& out);
|
264
|
-
virtual PSBoundingBox bb(void);
|
265
|
-
};
|
266
|
-
|
267
|
-
Rectangle::Rectangle(int c1x0, int c1y0, int c2x0, int c2y0,
|
268
|
-
const PSColor& outline0, const PSColor& fill0)
|
269
|
-
: c1x(c1x0), c1y(c1y0), c2x(c2x0), c2y(c2y0),
|
270
|
-
outline(outline0), fill(fill0) {}
|
271
|
-
|
272
|
-
void
|
273
|
-
Rectangle::emit(std::ostream& out) {
|
274
|
-
out << "gsave\n";
|
275
|
-
out << c1x << ".0 " << c1y << ".0 moveto " << c1x << ".0 " << c2y << ".0 lineto ";
|
276
|
-
out << c2x << ".0 " << c2y << ".0 lineto " << c2x << ".0 " << c1y <<
|
277
|
-
".0 lineto " << "closepath\n";
|
278
|
-
out << fill.r << " " << fill.g << " " << fill.b << " setrgbcolor\n";
|
279
|
-
out << "fill\n";
|
280
|
-
out << c1x << ".0 " << c1y << ".0 moveto " << c1x << ".0 " << c2y << ".0 lineto ";
|
281
|
-
out << c2x << ".0 " << c2y << ".0 lineto " << c2x << ".0 " << c1y <<
|
282
|
-
".0 lineto " << "closepath\n";
|
283
|
-
out << "1 setlinejoin 1 setlinecap\n";
|
284
|
-
out << "1 setlinewidth\n";
|
285
|
-
out << "[] 0 setdash\n";
|
286
|
-
out << outline.r << " " << outline.g << " " << outline.b << " setrgbcolor\n";
|
287
|
-
out << "stroke\n";
|
288
|
-
out << "grestore\n";
|
289
|
-
}
|
290
|
-
|
291
|
-
PSBoundingBox
|
292
|
-
Rectangle::bb(void) {
|
293
|
-
return PSBoundingBox(std::min(c1x,c2x), std::max(c1x,c2x),
|
294
|
-
std::min(c1y,c2y), std::max(c1y,c2y));
|
295
|
-
}
|
296
|
-
|
297
|
-
/// \brief A postscript path for drawing a line
|
298
|
-
class Line : public Path {
|
299
|
-
private:
|
300
|
-
int ax, ay, bx, by;
|
301
|
-
PSColor color;
|
302
|
-
public:
|
303
|
-
Line(int ax0, int ay0, int bx0, int by0, const PSColor& color0);
|
304
|
-
|
305
|
-
virtual void emit(std::ostream& out);
|
306
|
-
virtual PSBoundingBox bb(void);
|
307
|
-
};
|
308
|
-
|
309
|
-
Line::Line(int ax0, int ay0, int bx0, int by0, const PSColor& color0)
|
310
|
-
: ax(ax0), ay(ay0), bx(bx0), by(by0), color(color0) {}
|
311
|
-
|
312
|
-
void
|
313
|
-
Line::emit(std::ostream& out) {
|
314
|
-
out << "gsave\n";
|
315
|
-
out << ax << ".0 " << ay << ".0 moveto\n";
|
316
|
-
out << bx << ".0 " << by << ".0 lineto\n";
|
317
|
-
out << "0 setlinecap\n";
|
318
|
-
out << "1 setlinejoin\n";
|
319
|
-
out << "1 setlinewidth\n";
|
320
|
-
out << "[] 0 setdash\n";
|
321
|
-
out << color.r << " " << color.g << " " << color.b << " setrgbcolor\n";
|
322
|
-
out << "stroke\n";
|
323
|
-
out << "grestore\n";
|
324
|
-
}
|
325
|
-
|
326
|
-
PSBoundingBox
|
327
|
-
Line::bb(void) {
|
328
|
-
return PSBoundingBox(std::min(ax,bx), std::max(ax,bx),
|
329
|
-
std::min(ay,by), std::max(ay,by));
|
330
|
-
}
|
331
|
-
|
332
|
-
/// \brief Cursor that emits postscript for drawing a tree
|
333
|
-
class PostscriptCursor : public NodeCursor<VisualNode> {
|
334
|
-
protected:
|
335
|
-
static const int verticalOffset = 38;
|
336
|
-
static const PSColor black;
|
337
|
-
static const PSColor blue;
|
338
|
-
static const PSColor white;
|
339
|
-
static const PSColor yellow;
|
340
|
-
static const PSColor red;
|
341
|
-
static const PSColor green;
|
342
|
-
static const PSColor lightgray;
|
343
|
-
|
344
|
-
int x, y;
|
345
|
-
|
346
|
-
std::list<Path*>& ps;
|
347
|
-
|
348
|
-
void drawHidden(int x, int y, bool solved, bool open);
|
349
|
-
void drawFailed(int x, int y);
|
350
|
-
void drawSolved(int x, int y);
|
351
|
-
void drawChoice(int x, int y);
|
352
|
-
void drawUndetermined(int x, int y);
|
353
|
-
void drawSpecial(int x, int y);
|
354
|
-
public:
|
355
|
-
PostscriptCursor(VisualNode* tree, std::list<Path*>& ps0);
|
356
|
-
void moveUpwards(void);
|
357
|
-
bool mayMoveDownwards(void);
|
358
|
-
void moveDownwards(void);
|
359
|
-
void moveSidewards(void);
|
360
|
-
|
361
|
-
void processCurrentNode(void);
|
362
|
-
};
|
363
|
-
|
364
|
-
const PSColor
|
365
|
-
PostscriptCursor::black(0.0,0.0,0.0);
|
366
|
-
const PSColor
|
367
|
-
PostscriptCursor::blue(0.0,0.36,0.63);
|
368
|
-
const PSColor
|
369
|
-
PostscriptCursor::white(1.0,1.0,1.0);
|
370
|
-
const PSColor
|
371
|
-
PostscriptCursor::yellow(1.0,1.0,0.0);
|
372
|
-
const PSColor
|
373
|
-
PostscriptCursor::red(0.85,0.14,0.11);
|
374
|
-
const PSColor
|
375
|
-
PostscriptCursor::green(0.04,0.46,0.27);
|
376
|
-
const PSColor
|
377
|
-
PostscriptCursor::lightgray(0.92,0.92,0.92);
|
378
|
-
|
379
|
-
PostscriptCursor::PostscriptCursor(VisualNode* tree, std::list<Path*>& ps0)
|
380
|
-
: NodeCursor<VisualNode>(tree), x(0), y(0), ps(ps0) {}
|
381
|
-
|
382
|
-
void
|
383
|
-
PostscriptCursor::moveUpwards() {
|
384
|
-
x = x - node()->getOffset();
|
385
|
-
y = y - verticalOffset;
|
386
|
-
NodeCursor<VisualNode>::moveUpwards();
|
387
|
-
}
|
388
|
-
|
389
|
-
bool
|
390
|
-
PostscriptCursor::mayMoveDownwards() {
|
391
|
-
return (NodeCursor<VisualNode>::mayMoveDownwards() &&
|
392
|
-
! node()->isHidden() );
|
393
|
-
}
|
394
|
-
|
395
|
-
void
|
396
|
-
PostscriptCursor::moveDownwards() {
|
397
|
-
NodeCursor<VisualNode>::moveDownwards();
|
398
|
-
x = x + node()->getOffset();
|
399
|
-
y = y + verticalOffset;
|
400
|
-
}
|
401
|
-
|
402
|
-
void
|
403
|
-
PostscriptCursor::moveSidewards() {
|
404
|
-
x = x - node()->getOffset();
|
405
|
-
NodeCursor<VisualNode>::moveSidewards();
|
406
|
-
x = x + node()->getOffset();
|
407
|
-
}
|
408
|
-
|
409
|
-
void
|
410
|
-
PostscriptCursor::drawHidden(int x, int y, bool solved, bool) {
|
411
|
-
PSColor fill = solved ? green : red;
|
412
|
-
ps.push_back(new Triangle(x,-y+10,x-16,-y-38,x+16,-y-38,black,fill));
|
413
|
-
}
|
414
|
-
|
415
|
-
void
|
416
|
-
PostscriptCursor::drawFailed(int x, int y) {
|
417
|
-
ps.push_back(new Rectangle(x-7,-y+7,x+7,-y-7,black,red));
|
418
|
-
}
|
419
|
-
|
420
|
-
void
|
421
|
-
PostscriptCursor::drawSolved(int x, int y) {
|
422
|
-
ps.push_back(new Diamond(x, -y-10, 10, black, green));
|
423
|
-
}
|
424
|
-
|
425
|
-
void
|
426
|
-
PostscriptCursor::drawChoice(int x, int y) {
|
427
|
-
ps.push_back(new Circle(x, -y, 10, black, blue));
|
428
|
-
}
|
429
|
-
|
430
|
-
void
|
431
|
-
PostscriptCursor::drawUndetermined(int x, int y) {
|
432
|
-
ps.push_back(new Circle(x, -y, 10, black, white));
|
433
|
-
}
|
434
|
-
|
435
|
-
void
|
436
|
-
PostscriptCursor::drawSpecial(int x, int y) {
|
437
|
-
ps.push_back(new Circle(x, -y, 10, black, yellow));
|
438
|
-
}
|
439
|
-
|
440
|
-
void
|
441
|
-
PostscriptCursor::processCurrentNode(void) {
|
442
|
-
VisualNode* currentNode = node();
|
443
|
-
int parentX = (x - currentNode->getOffset());
|
444
|
-
int myx = x;
|
445
|
-
|
446
|
-
if (! currentNode->isRoot()) {
|
447
|
-
if (currentNode->isHidden()) {
|
448
|
-
ps.push_back(new Line(myx, -y+10, parentX, -y+28, black));
|
449
|
-
} else {
|
450
|
-
switch(currentNode->getStatus()) {
|
451
|
-
case SOLVED:
|
452
|
-
case UNDETERMINED:
|
453
|
-
case BRANCH:
|
454
|
-
case STEP:
|
455
|
-
case SPECIAL:
|
456
|
-
ps.push_back(new Line(myx, -y+10, parentX, -y+28, black));
|
457
|
-
break;
|
458
|
-
case FAILED:
|
459
|
-
ps.push_back(new Line(myx, -y+7, parentX, -y+28, black));
|
460
|
-
break;
|
461
|
-
}
|
462
|
-
}
|
463
|
-
}
|
464
|
-
if (currentNode->isHidden()) {
|
465
|
-
drawHidden(myx, y,
|
466
|
-
currentNode->hasSolvedChildren(),
|
467
|
-
currentNode->isOpen());
|
468
|
-
} else {
|
469
|
-
switch(currentNode->getStatus()) {
|
470
|
-
case STEP:
|
471
|
-
// TODO nikopp: may draw sth. different
|
472
|
-
case SPECIAL:
|
473
|
-
drawSpecial(myx,y);
|
474
|
-
break;
|
475
|
-
case UNDETERMINED:
|
476
|
-
drawUndetermined(myx,y);
|
477
|
-
break;
|
478
|
-
case FAILED:
|
479
|
-
drawFailed(myx,y);
|
480
|
-
break;
|
481
|
-
case SOLVED:
|
482
|
-
drawSolved(myx,y);
|
483
|
-
break;
|
484
|
-
case BRANCH:
|
485
|
-
drawChoice(myx,y);
|
486
|
-
break;
|
487
|
-
}
|
488
|
-
}
|
489
|
-
}
|
490
|
-
|
491
|
-
void
|
492
|
-
Postscript::output(std::ostream& out, VisualNode* tree) {
|
493
|
-
PSBoundingBox b(100000,0,100000,0);
|
494
|
-
|
495
|
-
double scale = 0.72;
|
496
|
-
double translatex = 306.0;
|
497
|
-
double translatey = 396.0;
|
498
|
-
|
499
|
-
int translatexI = 311;
|
500
|
-
int translateyI = 390;
|
501
|
-
|
502
|
-
std::list<Path*> p;
|
503
|
-
PostscriptCursor cursor(tree, p);
|
504
|
-
PreorderNodeVisitor<PostscriptCursor> visitor(cursor);
|
505
|
-
while (visitor.next()) {}
|
506
|
-
|
507
|
-
for (std::list<Path*>::iterator i=p.begin(); i != p.end(); ++i) {
|
508
|
-
b.merge((*i)->bb());
|
509
|
-
}
|
510
|
-
b.translate(scale, translatex, translatey);
|
511
|
-
|
512
|
-
out << "%!PS-Adobe-3.0 EPSF-3.0\n";
|
513
|
-
out << "%%Creator: Gecode/J PS library\n";
|
514
|
-
out << "%%For: Who knows?\n";
|
515
|
-
out << "%%Title: figure\n";
|
516
|
-
out << "%%CreationDate: Fri Jul 16 13:58:16 2004\n";
|
517
|
-
out << "%%BoundingBox: " << b.minx << " " << b.miny-10 << " " <<
|
518
|
-
b.maxx+10 << " " << b.maxy << "\n";
|
519
|
-
out << "%%Pages: 1\n";
|
520
|
-
out << "%%DocumentData: Clean7Bit\n";
|
521
|
-
out << "%%Orientation: Portrait\n";
|
522
|
-
out << "%%EndComments\n\n";
|
523
|
-
out << "%%BeginProlog\n";
|
524
|
-
out << "50 dict begin\n\n";
|
525
|
-
out << "%%EndProlog\n";
|
526
|
-
out << "%%Page: 1 1\n";
|
527
|
-
out << "save\n";
|
528
|
-
out << translatexI << " " << translateyI << " translate\n";
|
529
|
-
out << scale << " " << scale << " scale\n";
|
530
|
-
|
531
|
-
for (std::list<Path*>::iterator i=p.begin(); i != p.end(); ++i) {
|
532
|
-
(*i)->emit(out);
|
533
|
-
delete *i;
|
534
|
-
}
|
535
|
-
out << "restore showpage\n\n" <<
|
536
|
-
"%%Trailer\n" <<
|
537
|
-
"end\n" <<
|
538
|
-
"%%EOF\n";
|
539
|
-
}
|
540
|
-
|
541
|
-
}}
|
542
|
-
|
543
|
-
// STATISTICS: gist-any
|