gecoder-with-gecode 0.7.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 +81 -0
- data/COPYING +17 -0
- data/LGPL-LICENSE +458 -0
- data/README +45 -0
- data/Rakefile +13 -0
- data/example/example_helper.rb +1 -0
- data/example/magic_sequence.rb +43 -0
- data/example/queens.rb +43 -0
- data/example/raw_bindings.rb +42 -0
- data/example/send_more_money.rb +43 -0
- data/example/send_most_money.rb +58 -0
- data/example/square_tiling.rb +84 -0
- data/example/sudoku-set.rb +110 -0
- data/example/sudoku.rb +61 -0
- data/ext/extconf.rb +29 -0
- data/ext/gecode-1.3.1/LICENSE +34 -0
- data/ext/gecode-1.3.1/Makefile.contribs +71 -0
- data/ext/gecode-1.3.1/Makefile.dep +3928 -0
- data/ext/gecode-1.3.1/Makefile.in +966 -0
- data/ext/gecode-1.3.1/changelog.in +1065 -0
- data/ext/gecode-1.3.1/configure +8590 -0
- data/ext/gecode-1.3.1/configure.ac +179 -0
- data/ext/gecode-1.3.1/configure.ac.in +175 -0
- data/ext/gecode-1.3.1/contribs/README +26 -0
- data/ext/gecode-1.3.1/contribs/graph/INSTALL +53 -0
- data/ext/gecode-1.3.1/contribs/graph/LICENSE +11 -0
- data/ext/gecode-1.3.1/contribs/graph/Makefile +167 -0
- data/ext/gecode-1.3.1/contribs/graph/Makefile.in.in +169 -0
- data/ext/gecode-1.3.1/contribs/graph/TODO +28 -0
- data/ext/gecode-1.3.1/contribs/graph/binarysimple.hh +82 -0
- data/ext/gecode-1.3.1/contribs/graph/binarysimple.icc +186 -0
- data/ext/gecode-1.3.1/contribs/graph/branch/branch.icc +257 -0
- data/ext/gecode-1.3.1/contribs/graph/configure +2160 -0
- data/ext/gecode-1.3.1/contribs/graph/configure.ac +33 -0
- data/ext/gecode-1.3.1/contribs/graph/doxygen.conf +1226 -0
- data/ext/gecode-1.3.1/contribs/graph/doxygen.hh +132 -0
- data/ext/gecode-1.3.1/contribs/graph/examples/cpgraph-basic.cc +94 -0
- data/ext/gecode-1.3.1/contribs/graph/examples/cpgraph-complement.cc +104 -0
- data/ext/gecode-1.3.1/contribs/graph/examples/cpgraph-instUB.cc +105 -0
- data/ext/gecode-1.3.1/contribs/graph/examples/cpgraph-path.cc +92 -0
- data/ext/gecode-1.3.1/contribs/graph/examples/cpgraph-path2.cc +273 -0
- data/ext/gecode-1.3.1/contribs/graph/examples/cpgraph-pathcost.cc +311 -0
- data/ext/gecode-1.3.1/contribs/graph/examples/g1.txt +1 -0
- data/ext/gecode-1.3.1/contribs/graph/examples/g2.txt +1 -0
- data/ext/gecode-1.3.1/contribs/graph/graph.hh +51 -0
- data/ext/gecode-1.3.1/contribs/graph/graphutils.h +46 -0
- data/ext/gecode-1.3.1/contribs/graph/graphutils.icc +140 -0
- data/ext/gecode-1.3.1/contribs/graph/misc/doxygen/footer.html +1 -0
- data/ext/gecode-1.3.1/contribs/graph/path.hh +116 -0
- data/ext/gecode-1.3.1/contribs/graph/path.icc +64 -0
- data/ext/gecode-1.3.1/contribs/graph/path/path.icc +139 -0
- data/ext/gecode-1.3.1/contribs/graph/path/pathdegree.icc +133 -0
- data/ext/gecode-1.3.1/contribs/graph/path/pathgraphs.icc +341 -0
- data/ext/gecode-1.3.1/contribs/graph/shortdesc.ac +1 -0
- data/ext/gecode-1.3.1/contribs/graph/stlutility.icc +105 -0
- data/ext/gecode-1.3.1/contribs/graph/var.icc +106 -0
- data/ext/gecode-1.3.1/contribs/graph/view.icc +373 -0
- data/ext/gecode-1.3.1/contribs/graph/view/arcnode.cc +162 -0
- data/ext/gecode-1.3.1/contribs/graph/view/arcnode.hh +78 -0
- data/ext/gecode-1.3.1/contribs/graph/view/boundsgraphs.icc +349 -0
- data/ext/gecode-1.3.1/contribs/graph/view/constant.icc +148 -0
- data/ext/gecode-1.3.1/contribs/graph/view/iter.icc +337 -0
- data/ext/gecode-1.3.1/contribs/graph/view/nodearcsets.icc +493 -0
- data/ext/gecode-1.3.1/contribs/graph/view/nodeset.icc +60 -0
- data/ext/gecode-1.3.1/contribs/graph/view/outadjsets.icc +600 -0
- data/ext/gecode-1.3.1/contribs/graph/view/prop.icc +135 -0
- data/ext/gecode-1.3.1/contribs/map/COMPILING +68 -0
- data/ext/gecode-1.3.1/contribs/map/LICENSE +11 -0
- data/ext/gecode-1.3.1/contribs/map/Makefile.in.in +173 -0
- data/ext/gecode-1.3.1/contribs/map/configure +2285 -0
- data/ext/gecode-1.3.1/contribs/map/configure.ac +32 -0
- data/ext/gecode-1.3.1/contribs/map/constraints.hh +46 -0
- data/ext/gecode-1.3.1/contribs/map/constraints.icc +84 -0
- data/ext/gecode-1.3.1/contribs/map/doxygen.conf +1229 -0
- data/ext/gecode-1.3.1/contribs/map/doxygen.hh +33 -0
- data/ext/gecode-1.3.1/contribs/map/examples/approximateMatching.cc +199 -0
- data/ext/gecode-1.3.1/contribs/map/examples/g1.txt +1 -0
- data/ext/gecode-1.3.1/contribs/map/examples/g2.txt +1 -0
- data/ext/gecode-1.3.1/contribs/map/examples/graph-examples.tgz +0 -0
- data/ext/gecode-1.3.1/contribs/map/examples/isomorphism.cc +148 -0
- data/ext/gecode-1.3.1/contribs/map/examples/map +0 -0
- data/ext/gecode-1.3.1/contribs/map/examples/map.cc +80 -0
- data/ext/gecode-1.3.1/contribs/map/examples/subgraphmonomorphism.cc +155 -0
- data/ext/gecode-1.3.1/contribs/map/map.hh +65 -0
- data/ext/gecode-1.3.1/contribs/map/matching/mono.hh +235 -0
- data/ext/gecode-1.3.1/contribs/map/matching/mono.icc +771 -0
- data/ext/gecode-1.3.1/contribs/map/shortdesc.ac +2 -0
- data/ext/gecode-1.3.1/contribs/map/var.icc +346 -0
- data/ext/gecode-1.3.1/contribs/map/var/imp.cc +42 -0
- data/ext/gecode-1.3.1/contribs/map/var/imp.icc +436 -0
- data/ext/gecode-1.3.1/doxygen.conf.in +1225 -0
- data/ext/gecode-1.3.1/doxygen.hh.in +877 -0
- data/ext/gecode-1.3.1/examples/all-interval-sort.cc +201 -0
- data/ext/gecode-1.3.1/examples/all-interval.cc +114 -0
- data/ext/gecode-1.3.1/examples/alpha.cc +112 -0
- data/ext/gecode-1.3.1/examples/baseline.cc +71 -0
- data/ext/gecode-1.3.1/examples/bibd.cc +173 -0
- data/ext/gecode-1.3.1/examples/black-hole.cc +281 -0
- data/ext/gecode-1.3.1/examples/cars.cc +165 -0
- data/ext/gecode-1.3.1/examples/crew.cc +220 -0
- data/ext/gecode-1.3.1/examples/crowded-chess.cc +312 -0
- data/ext/gecode-1.3.1/examples/donald.cc +93 -0
- data/ext/gecode-1.3.1/examples/eq20.cc +111 -0
- data/ext/gecode-1.3.1/examples/golf.cc +242 -0
- data/ext/gecode-1.3.1/examples/golomb.cc +141 -0
- data/ext/gecode-1.3.1/examples/graph-color.cc +371 -0
- data/ext/gecode-1.3.1/examples/grocery.cc +107 -0
- data/ext/gecode-1.3.1/examples/hamming.cc +107 -0
- data/ext/gecode-1.3.1/examples/ind-set.cc +130 -0
- data/ext/gecode-1.3.1/examples/knights.cc +146 -0
- data/ext/gecode-1.3.1/examples/langfordnum.cc +244 -0
- data/ext/gecode-1.3.1/examples/magic-sequence-gcc.cc +93 -0
- data/ext/gecode-1.3.1/examples/magic-sequence.cc +108 -0
- data/ext/gecode-1.3.1/examples/magic-square.cc +120 -0
- data/ext/gecode-1.3.1/examples/money.cc +92 -0
- data/ext/gecode-1.3.1/examples/ortho-latin.cc +156 -0
- data/ext/gecode-1.3.1/examples/packing.cc +211 -0
- data/ext/gecode-1.3.1/examples/partition.cc +126 -0
- data/ext/gecode-1.3.1/examples/photo.cc +155 -0
- data/ext/gecode-1.3.1/examples/picture-puzzle.cc +481 -0
- data/ext/gecode-1.3.1/examples/queen-armies.cc +240 -0
- data/ext/gecode-1.3.1/examples/queens.cc +99 -0
- data/ext/gecode-1.3.1/examples/sports-league.cc +454 -0
- data/ext/gecode-1.3.1/examples/steiner.cc +148 -0
- data/ext/gecode-1.3.1/examples/stress-domain.cc +86 -0
- data/ext/gecode-1.3.1/examples/stress-element.cc +95 -0
- data/ext/gecode-1.3.1/examples/stress-exec.cc +74 -0
- data/ext/gecode-1.3.1/examples/stress-min.cc +84 -0
- data/ext/gecode-1.3.1/examples/stress-search.cc +72 -0
- data/ext/gecode-1.3.1/examples/sudoku-mixed.cc +282 -0
- data/ext/gecode-1.3.1/examples/sudoku-set.cc +162 -0
- data/ext/gecode-1.3.1/examples/sudoku.cc +188 -0
- data/ext/gecode-1.3.1/examples/sudoku.icc +703 -0
- data/ext/gecode-1.3.1/examples/support.cc +160 -0
- data/ext/gecode-1.3.1/examples/support.hh +98 -0
- data/ext/gecode-1.3.1/examples/support.icc +187 -0
- data/ext/gecode-1.3.1/examples/timer.cc +47 -0
- data/ext/gecode-1.3.1/examples/timer.hh +72 -0
- data/ext/gecode-1.3.1/examples/warehouses.cc +176 -0
- data/ext/gecode-1.3.1/extconf.rb +8 -0
- data/ext/gecode-1.3.1/gecode.m4 +736 -0
- data/ext/gecode-1.3.1/gecode/config.icc.in +50 -0
- data/ext/gecode-1.3.1/gecode/int.hh +1426 -0
- data/ext/gecode-1.3.1/gecode/int/arithmetic.cc +87 -0
- data/ext/gecode-1.3.1/gecode/int/arithmetic.hh +292 -0
- data/ext/gecode-1.3.1/gecode/int/arithmetic/abs.icc +213 -0
- data/ext/gecode-1.3.1/gecode/int/arithmetic/max.icc +196 -0
- data/ext/gecode-1.3.1/gecode/int/arithmetic/mult.icc +478 -0
- data/ext/gecode-1.3.1/gecode/int/array.cc +61 -0
- data/ext/gecode-1.3.1/gecode/int/array.icc +264 -0
- data/ext/gecode-1.3.1/gecode/int/bool.cc +187 -0
- data/ext/gecode-1.3.1/gecode/int/bool.hh +255 -0
- data/ext/gecode-1.3.1/gecode/int/bool/base.icc +123 -0
- data/ext/gecode-1.3.1/gecode/int/bool/eq.icc +89 -0
- data/ext/gecode-1.3.1/gecode/int/bool/eqv.icc +132 -0
- data/ext/gecode-1.3.1/gecode/int/bool/or.icc +380 -0
- data/ext/gecode-1.3.1/gecode/int/branch.cc +81 -0
- data/ext/gecode-1.3.1/gecode/int/branch.hh +444 -0
- data/ext/gecode-1.3.1/gecode/int/branch/assign.cc +83 -0
- data/ext/gecode-1.3.1/gecode/int/branch/assign.icc +76 -0
- data/ext/gecode-1.3.1/gecode/int/branch/select-val.icc +104 -0
- data/ext/gecode-1.3.1/gecode/int/branch/select-view.icc +219 -0
- data/ext/gecode-1.3.1/gecode/int/channel.cc +62 -0
- data/ext/gecode-1.3.1/gecode/int/channel.hh +144 -0
- data/ext/gecode-1.3.1/gecode/int/channel/base.icc +60 -0
- data/ext/gecode-1.3.1/gecode/int/channel/dom.icc +313 -0
- data/ext/gecode-1.3.1/gecode/int/channel/stack.icc +59 -0
- data/ext/gecode-1.3.1/gecode/int/channel/val.icc +239 -0
- data/ext/gecode-1.3.1/gecode/int/count.cc +174 -0
- data/ext/gecode-1.3.1/gecode/int/count.hh +401 -0
- data/ext/gecode-1.3.1/gecode/int/count/int.icc +495 -0
- data/ext/gecode-1.3.1/gecode/int/count/rel.icc +100 -0
- data/ext/gecode-1.3.1/gecode/int/count/view.icc +332 -0
- data/ext/gecode-1.3.1/gecode/int/cumulatives.cc +210 -0
- data/ext/gecode-1.3.1/gecode/int/cumulatives.hh +118 -0
- data/ext/gecode-1.3.1/gecode/int/cumulatives/val.icc +377 -0
- data/ext/gecode-1.3.1/gecode/int/distinct.cc +77 -0
- data/ext/gecode-1.3.1/gecode/int/distinct.hh +272 -0
- data/ext/gecode-1.3.1/gecode/int/distinct/bilink.icc +73 -0
- data/ext/gecode-1.3.1/gecode/int/distinct/bnd.icc +335 -0
- data/ext/gecode-1.3.1/gecode/int/distinct/combptr.icc +62 -0
- data/ext/gecode-1.3.1/gecode/int/distinct/dom.icc +740 -0
- data/ext/gecode-1.3.1/gecode/int/distinct/edge.icc +96 -0
- data/ext/gecode-1.3.1/gecode/int/distinct/node.icc +107 -0
- data/ext/gecode-1.3.1/gecode/int/distinct/ter-dom.icc +97 -0
- data/ext/gecode-1.3.1/gecode/int/distinct/val.icc +171 -0
- data/ext/gecode-1.3.1/gecode/int/dom.cc +81 -0
- data/ext/gecode-1.3.1/gecode/int/dom.hh +101 -0
- data/ext/gecode-1.3.1/gecode/int/dom/range.icc +85 -0
- data/ext/gecode-1.3.1/gecode/int/dom/spec.icc +85 -0
- data/ext/gecode-1.3.1/gecode/int/element.cc +58 -0
- data/ext/gecode-1.3.1/gecode/int/element.hh +203 -0
- data/ext/gecode-1.3.1/gecode/int/element/int.icc +396 -0
- data/ext/gecode-1.3.1/gecode/int/element/view.icc +443 -0
- data/ext/gecode-1.3.1/gecode/int/exception.icc +137 -0
- data/ext/gecode-1.3.1/gecode/int/gcc.cc +708 -0
- data/ext/gecode-1.3.1/gecode/int/gcc.hh +338 -0
- data/ext/gecode-1.3.1/gecode/int/gcc/bnd.icc +629 -0
- data/ext/gecode-1.3.1/gecode/int/gcc/dom.icc +504 -0
- data/ext/gecode-1.3.1/gecode/int/gcc/gccbndsup.icc +760 -0
- data/ext/gecode-1.3.1/gecode/int/gcc/graphsup.icc +2375 -0
- data/ext/gecode-1.3.1/gecode/int/gcc/lbc.icc +375 -0
- data/ext/gecode-1.3.1/gecode/int/gcc/occur.icc +687 -0
- data/ext/gecode-1.3.1/gecode/int/gcc/ubc.icc +236 -0
- data/ext/gecode-1.3.1/gecode/int/gcc/val.icc +373 -0
- data/ext/gecode-1.3.1/gecode/int/int-set.cc +115 -0
- data/ext/gecode-1.3.1/gecode/int/int-set.icc +151 -0
- data/ext/gecode-1.3.1/gecode/int/linear.cc +247 -0
- data/ext/gecode-1.3.1/gecode/int/linear.hh +1056 -0
- data/ext/gecode-1.3.1/gecode/int/linear/binary.icc +439 -0
- data/ext/gecode-1.3.1/gecode/int/linear/bool-int.icc +422 -0
- data/ext/gecode-1.3.1/gecode/int/linear/bool-view.icc +311 -0
- data/ext/gecode-1.3.1/gecode/int/linear/dom.icc +503 -0
- data/ext/gecode-1.3.1/gecode/int/linear/nary.icc +857 -0
- data/ext/gecode-1.3.1/gecode/int/linear/noview.icc +264 -0
- data/ext/gecode-1.3.1/gecode/int/linear/post.cc +542 -0
- data/ext/gecode-1.3.1/gecode/int/linear/ternary.icc +255 -0
- data/ext/gecode-1.3.1/gecode/int/propagator.icc +194 -0
- data/ext/gecode-1.3.1/gecode/int/regular.cc +40 -0
- data/ext/gecode-1.3.1/gecode/int/regular.hh +83 -0
- data/ext/gecode-1.3.1/gecode/int/regular/dfa.cc +466 -0
- data/ext/gecode-1.3.1/gecode/int/regular/dfa.icc +172 -0
- data/ext/gecode-1.3.1/gecode/int/regular/dom.icc +480 -0
- data/ext/gecode-1.3.1/gecode/int/regular/reg.cc +738 -0
- data/ext/gecode-1.3.1/gecode/int/rel.cc +293 -0
- data/ext/gecode-1.3.1/gecode/int/rel.hh +526 -0
- data/ext/gecode-1.3.1/gecode/int/rel/eq.icc +640 -0
- data/ext/gecode-1.3.1/gecode/int/rel/lex.icc +212 -0
- data/ext/gecode-1.3.1/gecode/int/rel/lq-le.icc +246 -0
- data/ext/gecode-1.3.1/gecode/int/rel/nq.icc +188 -0
- data/ext/gecode-1.3.1/gecode/int/sortedness.cc +124 -0
- data/ext/gecode-1.3.1/gecode/int/sortedness.hh +108 -0
- data/ext/gecode-1.3.1/gecode/int/sortedness/matching.icc +177 -0
- data/ext/gecode-1.3.1/gecode/int/sortedness/narrowing.icc +243 -0
- data/ext/gecode-1.3.1/gecode/int/sortedness/order.icc +232 -0
- data/ext/gecode-1.3.1/gecode/int/sortedness/sortedness.icc +727 -0
- data/ext/gecode-1.3.1/gecode/int/sortedness/sortsup.icc +666 -0
- data/ext/gecode-1.3.1/gecode/int/var-imp.vis +198 -0
- data/ext/gecode-1.3.1/gecode/int/var.icc +590 -0
- data/ext/gecode-1.3.1/gecode/int/var/bool.icc +52 -0
- data/ext/gecode-1.3.1/gecode/int/var/imp-body.icc +65 -0
- data/ext/gecode-1.3.1/gecode/int/var/imp-hdr.icc +191 -0
- data/ext/gecode-1.3.1/gecode/int/var/imp.cc +361 -0
- data/ext/gecode-1.3.1/gecode/int/var/imp.icc +579 -0
- data/ext/gecode-1.3.1/gecode/int/var/int.cc +63 -0
- data/ext/gecode-1.3.1/gecode/int/var/int.icc +135 -0
- data/ext/gecode-1.3.1/gecode/int/view.icc +1219 -0
- data/ext/gecode-1.3.1/gecode/int/view/bool.icc +270 -0
- data/ext/gecode-1.3.1/gecode/int/view/constint.icc +306 -0
- data/ext/gecode-1.3.1/gecode/int/view/int.icc +221 -0
- data/ext/gecode-1.3.1/gecode/int/view/iter.icc +49 -0
- data/ext/gecode-1.3.1/gecode/int/view/minus.icc +285 -0
- data/ext/gecode-1.3.1/gecode/int/view/offset.icc +274 -0
- data/ext/gecode-1.3.1/gecode/int/view/print.cc +109 -0
- data/ext/gecode-1.3.1/gecode/int/view/rtest.icc +215 -0
- data/ext/gecode-1.3.1/gecode/int/view/scale.icc +373 -0
- data/ext/gecode-1.3.1/gecode/iter.hh +65 -0
- data/ext/gecode-1.3.1/gecode/iter/ranges-add.icc +130 -0
- data/ext/gecode-1.3.1/gecode/iter/ranges-append.icc +208 -0
- data/ext/gecode-1.3.1/gecode/iter/ranges-array.icc +123 -0
- data/ext/gecode-1.3.1/gecode/iter/ranges-cache.icc +143 -0
- data/ext/gecode-1.3.1/gecode/iter/ranges-compl.icc +206 -0
- data/ext/gecode-1.3.1/gecode/iter/ranges-diff.icc +127 -0
- data/ext/gecode-1.3.1/gecode/iter/ranges-empty.icc +96 -0
- data/ext/gecode-1.3.1/gecode/iter/ranges-inter.icc +202 -0
- data/ext/gecode-1.3.1/gecode/iter/ranges-minmax.icc +103 -0
- data/ext/gecode-1.3.1/gecode/iter/ranges-minus.icc +138 -0
- data/ext/gecode-1.3.1/gecode/iter/ranges-offset.icc +112 -0
- data/ext/gecode-1.3.1/gecode/iter/ranges-operations.icc +142 -0
- data/ext/gecode-1.3.1/gecode/iter/ranges-scale.icc +224 -0
- data/ext/gecode-1.3.1/gecode/iter/ranges-singleton.icc +71 -0
- data/ext/gecode-1.3.1/gecode/iter/ranges-size.icc +131 -0
- data/ext/gecode-1.3.1/gecode/iter/ranges-union.icc +211 -0
- data/ext/gecode-1.3.1/gecode/iter/ranges-values.icc +125 -0
- data/ext/gecode-1.3.1/gecode/iter/values-ranges.icc +91 -0
- data/ext/gecode-1.3.1/gecode/iter/virtual-ranges-compl.icc +247 -0
- data/ext/gecode-1.3.1/gecode/iter/virtual-ranges-inter.icc +227 -0
- data/ext/gecode-1.3.1/gecode/iter/virtual-ranges-union.icc +236 -0
- data/ext/gecode-1.3.1/gecode/iter/virtual-ranges.icc +126 -0
- data/ext/gecode-1.3.1/gecode/kernel.hh +141 -0
- data/ext/gecode-1.3.1/gecode/kernel/array.icc +954 -0
- data/ext/gecode-1.3.1/gecode/kernel/branching.icc +233 -0
- data/ext/gecode-1.3.1/gecode/kernel/core.cc +417 -0
- data/ext/gecode-1.3.1/gecode/kernel/core.icc +1681 -0
- data/ext/gecode-1.3.1/gecode/kernel/exception.cc +49 -0
- data/ext/gecode-1.3.1/gecode/kernel/exception.icc +104 -0
- data/ext/gecode-1.3.1/gecode/kernel/macros.icc +98 -0
- data/ext/gecode-1.3.1/gecode/kernel/memory-manager.cc +41 -0
- data/ext/gecode-1.3.1/gecode/kernel/memory-manager.icc +438 -0
- data/ext/gecode-1.3.1/gecode/kernel/memory.icc +205 -0
- data/ext/gecode-1.3.1/gecode/kernel/modevent.icc +53 -0
- data/ext/gecode-1.3.1/gecode/kernel/propagator.icc +680 -0
- data/ext/gecode-1.3.1/gecode/kernel/view.icc +583 -0
- data/ext/gecode-1.3.1/gecode/limits.hh +87 -0
- data/ext/gecode-1.3.1/gecode/minimodel.hh +942 -0
- data/ext/gecode-1.3.1/gecode/minimodel/arithmetic.cc +137 -0
- data/ext/gecode-1.3.1/gecode/minimodel/bool-expr.cc +207 -0
- data/ext/gecode-1.3.1/gecode/minimodel/bool-expr.icc +191 -0
- data/ext/gecode-1.3.1/gecode/minimodel/bool-rel.icc +66 -0
- data/ext/gecode-1.3.1/gecode/minimodel/exception.icc +59 -0
- data/ext/gecode-1.3.1/gecode/minimodel/lin-expr.cc +103 -0
- data/ext/gecode-1.3.1/gecode/minimodel/lin-expr.icc +192 -0
- data/ext/gecode-1.3.1/gecode/minimodel/lin-rel.icc +200 -0
- data/ext/gecode-1.3.1/gecode/minimodel/matrix.icc +118 -0
- data/ext/gecode-1.3.1/gecode/minimodel/scheduling.cc +241 -0
- data/ext/gecode-1.3.1/gecode/search.hh +745 -0
- data/ext/gecode-1.3.1/gecode/search/bab.cc +153 -0
- data/ext/gecode-1.3.1/gecode/search/bab.icc +101 -0
- data/ext/gecode-1.3.1/gecode/search/dfs.cc +63 -0
- data/ext/gecode-1.3.1/gecode/search/dfs.icc +144 -0
- data/ext/gecode-1.3.1/gecode/search/engine-ctrl.icc +109 -0
- data/ext/gecode-1.3.1/gecode/search/lds.cc +237 -0
- data/ext/gecode-1.3.1/gecode/search/lds.icc +57 -0
- data/ext/gecode-1.3.1/gecode/search/reco-stack.icc +219 -0
- data/ext/gecode-1.3.1/gecode/search/restart.icc +76 -0
- data/ext/gecode-1.3.1/gecode/search/statistics.icc +30 -0
- data/ext/gecode-1.3.1/gecode/search/stop.cc +58 -0
- data/ext/gecode-1.3.1/gecode/search/stop.icc +100 -0
- data/ext/gecode-1.3.1/gecode/set.hh +419 -0
- data/ext/gecode-1.3.1/gecode/set/array.cc +114 -0
- data/ext/gecode-1.3.1/gecode/set/array.icc +134 -0
- data/ext/gecode-1.3.1/gecode/set/branch.cc +57 -0
- data/ext/gecode-1.3.1/gecode/set/branch.hh +176 -0
- data/ext/gecode-1.3.1/gecode/set/branch/select-val.icc +72 -0
- data/ext/gecode-1.3.1/gecode/set/branch/select-view.icc +112 -0
- data/ext/gecode-1.3.1/gecode/set/cardinality.cc +49 -0
- data/ext/gecode-1.3.1/gecode/set/convex.cc +43 -0
- data/ext/gecode-1.3.1/gecode/set/convex.hh +92 -0
- data/ext/gecode-1.3.1/gecode/set/convex/conv.cc +81 -0
- data/ext/gecode-1.3.1/gecode/set/convex/conv.icc +51 -0
- data/ext/gecode-1.3.1/gecode/set/convex/hull.cc +100 -0
- data/ext/gecode-1.3.1/gecode/set/convex/hull.icc +52 -0
- data/ext/gecode-1.3.1/gecode/set/distinct.cc +48 -0
- data/ext/gecode-1.3.1/gecode/set/distinct.hh +97 -0
- data/ext/gecode-1.3.1/gecode/set/distinct/atmostOne.cc +151 -0
- data/ext/gecode-1.3.1/gecode/set/distinct/atmostOne.icc +50 -0
- data/ext/gecode-1.3.1/gecode/set/distinct/binomial.cc +46 -0
- data/ext/gecode-1.3.1/gecode/set/distinct/binomial.icc +157 -0
- data/ext/gecode-1.3.1/gecode/set/distinct/distinct.cc +124 -0
- data/ext/gecode-1.3.1/gecode/set/distinct/distinct.icc +58 -0
- data/ext/gecode-1.3.1/gecode/set/dom.cc +224 -0
- data/ext/gecode-1.3.1/gecode/set/exception.icc +132 -0
- data/ext/gecode-1.3.1/gecode/set/int.cc +139 -0
- data/ext/gecode-1.3.1/gecode/set/int.hh +226 -0
- data/ext/gecode-1.3.1/gecode/set/int/card.cc +61 -0
- data/ext/gecode-1.3.1/gecode/set/int/card.icc +54 -0
- data/ext/gecode-1.3.1/gecode/set/int/channel.cc +100 -0
- data/ext/gecode-1.3.1/gecode/set/int/channel.icc +75 -0
- data/ext/gecode-1.3.1/gecode/set/int/match.cc +148 -0
- data/ext/gecode-1.3.1/gecode/set/int/match.icc +67 -0
- data/ext/gecode-1.3.1/gecode/set/int/minmax.cc +109 -0
- data/ext/gecode-1.3.1/gecode/set/int/minmax.icc +63 -0
- data/ext/gecode-1.3.1/gecode/set/int/weights.cc +182 -0
- data/ext/gecode-1.3.1/gecode/set/int/weights.icc +174 -0
- data/ext/gecode-1.3.1/gecode/set/projectors-compiler.hh +148 -0
- data/ext/gecode-1.3.1/gecode/set/projectors.cc +109 -0
- data/ext/gecode-1.3.1/gecode/set/projectors.hh +319 -0
- data/ext/gecode-1.3.1/gecode/set/projectors/compiler.cc +841 -0
- data/ext/gecode-1.3.1/gecode/set/projectors/projector-set.cc +69 -0
- data/ext/gecode-1.3.1/gecode/set/projectors/projector-set.icc +66 -0
- data/ext/gecode-1.3.1/gecode/set/projectors/projector.cc +125 -0
- data/ext/gecode-1.3.1/gecode/set/projectors/projector.icc +79 -0
- data/ext/gecode-1.3.1/gecode/set/projectors/propagator.hh +127 -0
- data/ext/gecode-1.3.1/gecode/set/projectors/propagator/card.icc +96 -0
- data/ext/gecode-1.3.1/gecode/set/projectors/propagator/nary.icc +106 -0
- data/ext/gecode-1.3.1/gecode/set/projectors/propagator/re-nary.cc +76 -0
- data/ext/gecode-1.3.1/gecode/set/projectors/propagator/re-nary.icc +53 -0
- data/ext/gecode-1.3.1/gecode/set/projectors/set-expr.cc +306 -0
- data/ext/gecode-1.3.1/gecode/set/projectors/set-expr.icc +192 -0
- data/ext/gecode-1.3.1/gecode/set/propagator.icc +96 -0
- data/ext/gecode-1.3.1/gecode/set/rel-op-const.cc +233 -0
- data/ext/gecode-1.3.1/gecode/set/rel-op.cc +96 -0
- data/ext/gecode-1.3.1/gecode/set/rel-op.hh +267 -0
- data/ext/gecode-1.3.1/gecode/set/rel-op/common.icc +528 -0
- data/ext/gecode-1.3.1/gecode/set/rel-op/inter.icc +312 -0
- data/ext/gecode-1.3.1/gecode/set/rel-op/partition.icc +131 -0
- data/ext/gecode-1.3.1/gecode/set/rel-op/post.icc +198 -0
- data/ext/gecode-1.3.1/gecode/set/rel-op/subofunion.icc +150 -0
- data/ext/gecode-1.3.1/gecode/set/rel-op/superofinter.icc +151 -0
- data/ext/gecode-1.3.1/gecode/set/rel-op/union.icc +292 -0
- data/ext/gecode-1.3.1/gecode/set/rel.cc +201 -0
- data/ext/gecode-1.3.1/gecode/set/rel.hh +250 -0
- data/ext/gecode-1.3.1/gecode/set/rel/common.icc +109 -0
- data/ext/gecode-1.3.1/gecode/set/rel/eq.icc +101 -0
- data/ext/gecode-1.3.1/gecode/set/rel/nosubset.icc +88 -0
- data/ext/gecode-1.3.1/gecode/set/rel/nq.icc +132 -0
- data/ext/gecode-1.3.1/gecode/set/rel/re-eq.icc +142 -0
- data/ext/gecode-1.3.1/gecode/set/rel/re-subset.icc +121 -0
- data/ext/gecode-1.3.1/gecode/set/rel/subset.icc +80 -0
- data/ext/gecode-1.3.1/gecode/set/select.cc +88 -0
- data/ext/gecode-1.3.1/gecode/set/select.hh +113 -0
- data/ext/gecode-1.3.1/gecode/set/select/disjoint.cc +267 -0
- data/ext/gecode-1.3.1/gecode/set/select/disjoint.icc +59 -0
- data/ext/gecode-1.3.1/gecode/set/select/idxarray.hh +91 -0
- data/ext/gecode-1.3.1/gecode/set/select/idxarray.icc +112 -0
- data/ext/gecode-1.3.1/gecode/set/select/inter.icc +300 -0
- data/ext/gecode-1.3.1/gecode/set/sequence.cc +48 -0
- data/ext/gecode-1.3.1/gecode/set/sequence.hh +97 -0
- data/ext/gecode-1.3.1/gecode/set/sequence/common.icc +79 -0
- data/ext/gecode-1.3.1/gecode/set/sequence/seq-u.cc +83 -0
- data/ext/gecode-1.3.1/gecode/set/sequence/seq-u.icc +63 -0
- data/ext/gecode-1.3.1/gecode/set/sequence/seq.cc +61 -0
- data/ext/gecode-1.3.1/gecode/set/sequence/seq.icc +53 -0
- data/ext/gecode-1.3.1/gecode/set/var-imp.vis +205 -0
- data/ext/gecode-1.3.1/gecode/set/var.icc +1090 -0
- data/ext/gecode-1.3.1/gecode/set/var/imp-body.icc +192 -0
- data/ext/gecode-1.3.1/gecode/set/var/imp-hdr.icc +235 -0
- data/ext/gecode-1.3.1/gecode/set/var/imp.cc +127 -0
- data/ext/gecode-1.3.1/gecode/set/var/imp.icc +356 -0
- data/ext/gecode-1.3.1/gecode/set/var/integerset.cc +256 -0
- data/ext/gecode-1.3.1/gecode/set/var/integerset.icc +512 -0
- data/ext/gecode-1.3.1/gecode/set/var/iter.icc +47 -0
- data/ext/gecode-1.3.1/gecode/set/var/set.cc +99 -0
- data/ext/gecode-1.3.1/gecode/set/var/set.icc +282 -0
- data/ext/gecode-1.3.1/gecode/set/view.icc +1075 -0
- data/ext/gecode-1.3.1/gecode/set/view/complement.icc +525 -0
- data/ext/gecode-1.3.1/gecode/set/view/const.icc +651 -0
- data/ext/gecode-1.3.1/gecode/set/view/print.cc +120 -0
- data/ext/gecode-1.3.1/gecode/set/view/set.icc +217 -0
- data/ext/gecode-1.3.1/gecode/set/view/singleton.icc +348 -0
- data/ext/gecode-1.3.1/gecode/support/block-allocator.hh +152 -0
- data/ext/gecode-1.3.1/gecode/support/dynamic-array.hh +131 -0
- data/ext/gecode-1.3.1/gecode/support/dynamic-stack.hh +157 -0
- data/ext/gecode-1.3.1/gecode/support/random.hh +100 -0
- data/ext/gecode-1.3.1/gecode/support/shared-array.hh +255 -0
- data/ext/gecode-1.3.1/gecode/support/sort.hh +193 -0
- data/ext/gecode-1.3.1/gecode/support/static-pqueue.hh +240 -0
- data/ext/gecode-1.3.1/gecode/support/static-stack.hh +117 -0
- data/ext/gecode-1.3.1/install-sh +323 -0
- data/ext/gecode-1.3.1/misc/debian/Makefile.am +8 -0
- data/ext/gecode-1.3.1/misc/debian/changelog +6 -0
- data/ext/gecode-1.3.1/misc/debian/control +11 -0
- data/ext/gecode-1.3.1/misc/debian/copyright +44 -0
- data/ext/gecode-1.3.1/misc/debian/gecode.info +9 -0
- data/ext/gecode-1.3.1/misc/debian/gecode.install +2 -0
- data/ext/gecode-1.3.1/misc/debian/gecode.spec +58 -0
- data/ext/gecode-1.3.1/misc/debian/rules +81 -0
- data/ext/gecode-1.3.1/misc/doxygen/back.png +0 -0
- data/ext/gecode-1.3.1/misc/doxygen/footer.html +3 -0
- data/ext/gecode-1.3.1/misc/doxygen/gecode-logo-100.png +0 -0
- data/ext/gecode-1.3.1/misc/doxygen/header.html +46 -0
- data/ext/gecode-1.3.1/misc/doxygen/stylesheet.css +460 -0
- data/ext/gecode-1.3.1/misc/fixproperties.sh +32 -0
- data/ext/gecode-1.3.1/misc/gecode-minimodel.pc.in +12 -0
- data/ext/gecode-1.3.1/misc/gecode-search.pc.in +12 -0
- data/ext/gecode-1.3.1/misc/gecode.pc.in +12 -0
- data/ext/gecode-1.3.1/misc/genchangelog.perl +190 -0
- data/ext/gecode-1.3.1/misc/genlicense.perl +113 -0
- data/ext/gecode-1.3.1/misc/genstatistics.perl +155 -0
- data/ext/gecode-1.3.1/misc/gentxtchangelog.perl +170 -0
- data/ext/gecode-1.3.1/misc/genvarimp.perl +666 -0
- data/ext/gecode-1.3.1/misc/getrevision.perl +32 -0
- data/ext/gecode-1.3.1/misc/makedepend.perl +66 -0
- data/ext/gecode-1.3.1/test/int.cc +497 -0
- data/ext/gecode-1.3.1/test/int.hh +119 -0
- data/ext/gecode-1.3.1/test/int/arithmetic.cc +262 -0
- data/ext/gecode-1.3.1/test/int/basic.cc +42 -0
- data/ext/gecode-1.3.1/test/int/bool.cc +189 -0
- data/ext/gecode-1.3.1/test/int/channel.cc +79 -0
- data/ext/gecode-1.3.1/test/int/count.cc +264 -0
- data/ext/gecode-1.3.1/test/int/distinct.cc +121 -0
- data/ext/gecode-1.3.1/test/int/dom.cc +69 -0
- data/ext/gecode-1.3.1/test/int/element.cc +132 -0
- data/ext/gecode-1.3.1/test/int/gcc.cc +592 -0
- data/ext/gecode-1.3.1/test/int/linear.cc +315 -0
- data/ext/gecode-1.3.1/test/int/minimodel.cc +451 -0
- data/ext/gecode-1.3.1/test/int/regular.cc +105 -0
- data/ext/gecode-1.3.1/test/int/rel.cc +283 -0
- data/ext/gecode-1.3.1/test/int/scheduling.cc +259 -0
- data/ext/gecode-1.3.1/test/int/sortedness.cc +272 -0
- data/ext/gecode-1.3.1/test/intset.cc +40 -0
- data/ext/gecode-1.3.1/test/log.cc +515 -0
- data/ext/gecode-1.3.1/test/log.hh +68 -0
- data/ext/gecode-1.3.1/test/set.cc +542 -0
- data/ext/gecode-1.3.1/test/set.hh +152 -0
- data/ext/gecode-1.3.1/test/set/convex.cc +94 -0
- data/ext/gecode-1.3.1/test/set/distinct.cc +148 -0
- data/ext/gecode-1.3.1/test/set/dom.cc +67 -0
- data/ext/gecode-1.3.1/test/set/int.cc +249 -0
- data/ext/gecode-1.3.1/test/set/projection.cc +333 -0
- data/ext/gecode-1.3.1/test/set/rel-op.cc +662 -0
- data/ext/gecode-1.3.1/test/set/rel.cc +198 -0
- data/ext/gecode-1.3.1/test/set/select.cc +108 -0
- data/ext/gecode-1.3.1/test/set/sequence.cc +83 -0
- data/ext/gecode-1.3.1/test/stress.cc +93 -0
- data/ext/gecode-1.3.1/test/stress.hh +74 -0
- data/ext/gecode-1.3.1/test/stress/distinct.cc +70 -0
- data/ext/gecode-1.3.1/test/stress/domain.cc +69 -0
- data/ext/gecode-1.3.1/test/stress/exec.cc +60 -0
- data/ext/gecode-1.3.1/test/stress/minsort.cc +63 -0
- data/ext/gecode-1.3.1/test/stress/regular.cc +112 -0
- data/ext/gecode-1.3.1/test/test.cc +215 -0
- data/ext/gecode-1.3.1/test/test.hh +107 -0
- data/ext/missing.cpp +328 -0
- data/ext/missing.h +120 -0
- data/ext/vararray.cpp +330 -0
- data/ext/vararray.h +149 -0
- data/lib/gecoder.rb +5 -0
- data/lib/gecoder/bindings.rb +34 -0
- data/lib/gecoder/bindings/bindings.rb +2209 -0
- data/lib/gecoder/interface.rb +8 -0
- data/lib/gecoder/interface/binding_changes.rb +313 -0
- data/lib/gecoder/interface/branch.rb +152 -0
- data/lib/gecoder/interface/constraints.rb +397 -0
- data/lib/gecoder/interface/constraints/bool/boolean.rb +246 -0
- data/lib/gecoder/interface/constraints/bool/linear.rb +29 -0
- data/lib/gecoder/interface/constraints/bool_enum/boolean.rb +84 -0
- data/lib/gecoder/interface/constraints/bool_enum_constraints.rb +8 -0
- data/lib/gecoder/interface/constraints/bool_var_constraints.rb +75 -0
- data/lib/gecoder/interface/constraints/int/arithmetic.rb +71 -0
- data/lib/gecoder/interface/constraints/int/domain.rb +78 -0
- data/lib/gecoder/interface/constraints/int/linear.rb +295 -0
- data/lib/gecoder/interface/constraints/int_enum/arithmetic.rb +72 -0
- data/lib/gecoder/interface/constraints/int_enum/channel.rb +100 -0
- data/lib/gecoder/interface/constraints/int_enum/count.rb +92 -0
- data/lib/gecoder/interface/constraints/int_enum/distinct.rb +69 -0
- data/lib/gecoder/interface/constraints/int_enum/element.rb +82 -0
- data/lib/gecoder/interface/constraints/int_enum/equality.rb +38 -0
- data/lib/gecoder/interface/constraints/int_enum/sort.rb +126 -0
- data/lib/gecoder/interface/constraints/int_enum_constraints.rb +37 -0
- data/lib/gecoder/interface/constraints/int_var_constraints.rb +58 -0
- data/lib/gecoder/interface/constraints/reifiable_constraints.rb +78 -0
- data/lib/gecoder/interface/constraints/set/cardinality.rb +75 -0
- data/lib/gecoder/interface/constraints/set/connection.rb +193 -0
- data/lib/gecoder/interface/constraints/set/domain.rb +109 -0
- data/lib/gecoder/interface/constraints/set/operation.rb +132 -0
- data/lib/gecoder/interface/constraints/set/relation.rb +178 -0
- data/lib/gecoder/interface/constraints/set_enum/channel.rb +18 -0
- data/lib/gecoder/interface/constraints/set_enum/distinct.rb +80 -0
- data/lib/gecoder/interface/constraints/set_enum/operation.rb +60 -0
- data/lib/gecoder/interface/constraints/set_enum/selection.rb +217 -0
- data/lib/gecoder/interface/constraints/set_enum_constraints.rb +34 -0
- data/lib/gecoder/interface/constraints/set_var_constraints.rb +72 -0
- data/lib/gecoder/interface/enum_matrix.rb +64 -0
- data/lib/gecoder/interface/enum_wrapper.rb +153 -0
- data/lib/gecoder/interface/model.rb +251 -0
- data/lib/gecoder/interface/search.rb +123 -0
- data/lib/gecoder/interface/variables.rb +254 -0
- data/lib/gecoder/version.rb +4 -0
- data/specs/binding_changes.rb +76 -0
- data/specs/bool_var.rb +74 -0
- data/specs/branch.rb +170 -0
- data/specs/constraints/arithmetic.rb +266 -0
- data/specs/constraints/bool_enum.rb +140 -0
- data/specs/constraints/boolean.rb +232 -0
- data/specs/constraints/cardinality.rb +154 -0
- data/specs/constraints/channel.rb +126 -0
- data/specs/constraints/connection.rb +373 -0
- data/specs/constraints/constraint_helper.rb +180 -0
- data/specs/constraints/constraints.rb +74 -0
- data/specs/constraints/count.rb +139 -0
- data/specs/constraints/distinct.rb +218 -0
- data/specs/constraints/element.rb +106 -0
- data/specs/constraints/equality.rb +31 -0
- data/specs/constraints/int_domain.rb +69 -0
- data/specs/constraints/int_relation.rb +78 -0
- data/specs/constraints/linear.rb +332 -0
- data/specs/constraints/reification_sugar.rb +96 -0
- data/specs/constraints/selection.rb +292 -0
- data/specs/constraints/set_domain.rb +181 -0
- data/specs/constraints/set_operation.rb +285 -0
- data/specs/constraints/set_relation.rb +201 -0
- data/specs/constraints/sort.rb +175 -0
- data/specs/enum_matrix.rb +43 -0
- data/specs/enum_wrapper.rb +122 -0
- data/specs/int_var.rb +144 -0
- data/specs/logging.rb +24 -0
- data/specs/model.rb +190 -0
- data/specs/search.rb +246 -0
- data/specs/set_var.rb +68 -0
- data/specs/spec_helper.rb +93 -0
- data/tasks/all_tasks.rb +1 -0
- data/tasks/distribution.rake +129 -0
- data/tasks/rcov.rake +17 -0
- data/tasks/specs.rake +15 -0
- data/tasks/svn.rake +11 -0
- data/tasks/website.rake +51 -0
- data/vendor/rust/README +28 -0
- data/vendor/rust/bin/cxxgenerator.rb +93 -0
- data/vendor/rust/include/rust_checks.hh +115 -0
- data/vendor/rust/include/rust_conversions.hh +102 -0
- data/vendor/rust/rust.rb +67 -0
- data/vendor/rust/rust/attribute.rb +51 -0
- data/vendor/rust/rust/bindings.rb +172 -0
- data/vendor/rust/rust/class.rb +339 -0
- data/vendor/rust/rust/constants.rb +48 -0
- data/vendor/rust/rust/container.rb +110 -0
- data/vendor/rust/rust/cppifaceparser.rb +129 -0
- data/vendor/rust/rust/cwrapper.rb +72 -0
- data/vendor/rust/rust/cxxclass.rb +98 -0
- data/vendor/rust/rust/element.rb +81 -0
- data/vendor/rust/rust/enum.rb +63 -0
- data/vendor/rust/rust/function.rb +407 -0
- data/vendor/rust/rust/namespace.rb +61 -0
- data/vendor/rust/rust/templates/AttributeDefinition.rusttpl +17 -0
- data/vendor/rust/rust/templates/AttributeInitBinding.rusttpl +9 -0
- data/vendor/rust/rust/templates/BindingsHeader.rusttpl +24 -0
- data/vendor/rust/rust/templates/BindingsUnit.rusttpl +46 -0
- data/vendor/rust/rust/templates/CWrapperClassDefinitions.rusttpl +64 -0
- data/vendor/rust/rust/templates/ClassDeclarations.rusttpl +7 -0
- data/vendor/rust/rust/templates/ClassInitialize.rusttpl +6 -0
- data/vendor/rust/rust/templates/ConstructorStub.rusttpl +21 -0
- data/vendor/rust/rust/templates/CxxClassDefinitions.rusttpl +91 -0
- data/vendor/rust/rust/templates/CxxMethodStub.rusttpl +12 -0
- data/vendor/rust/rust/templates/CxxStandaloneClassDefinitions.rusttpl +26 -0
- data/vendor/rust/rust/templates/EnumDeclarations.rusttpl +3 -0
- data/vendor/rust/rust/templates/EnumDefinitions.rusttpl +29 -0
- data/vendor/rust/rust/templates/FunctionDefinition.rusttpl +9 -0
- data/vendor/rust/rust/templates/FunctionInitAlias.rusttpl +5 -0
- data/vendor/rust/rust/templates/FunctionInitBinding.rusttpl +9 -0
- data/vendor/rust/rust/templates/MethodInitBinding.rusttpl +9 -0
- data/vendor/rust/rust/templates/ModuleDeclarations.rusttpl +3 -0
- data/vendor/rust/rust/templates/ModuleDefinitions.rusttpl +3 -0
- data/vendor/rust/rust/templates/StandaloneClassDeclarations.rusttpl +7 -0
- data/vendor/rust/rust/templates/VariableFunctionCall.rusttpl +14 -0
- data/vendor/rust/rust/type.rb +98 -0
- data/vendor/rust/test/Makefile +4 -0
- data/vendor/rust/test/constants.rb +36 -0
- data/vendor/rust/test/cppclass.cc +45 -0
- data/vendor/rust/test/cppclass.hh +67 -0
- data/vendor/rust/test/cppclass.rb +59 -0
- data/vendor/rust/test/cwrapper.c +74 -0
- data/vendor/rust/test/cwrapper.h +41 -0
- data/vendor/rust/test/cwrapper.rb +56 -0
- data/vendor/rust/test/dummyclass.hh +31 -0
- data/vendor/rust/test/lib/extension-test.rb +98 -0
- data/vendor/rust/test/operators.cc +41 -0
- data/vendor/rust/test/operators.hh +39 -0
- data/vendor/rust/test/operators.rb +39 -0
- data/vendor/rust/test/test-constants.rb +43 -0
- data/vendor/rust/test/test-cppclass.rb +82 -0
- data/vendor/rust/test/test-cwrapper.rb +80 -0
- data/vendor/rust/test/test-operators.rb +42 -0
- metadata +826 -0
@@ -0,0 +1,525 @@
|
|
1
|
+
/*
|
2
|
+
* Main authors:
|
3
|
+
* Guido Tack <tack@gecode.org>
|
4
|
+
*
|
5
|
+
* Contributing authors:
|
6
|
+
* Christian Schulte <schulte@gecode.org>
|
7
|
+
*
|
8
|
+
* Copyright:
|
9
|
+
* Guido Tack, 2004
|
10
|
+
* Christian Schulte, 2004
|
11
|
+
*
|
12
|
+
* Last modified:
|
13
|
+
* $Date: 2006-08-24 11:25:05 +0200 (Thu, 24 Aug 2006) $ by $Author: schulte $
|
14
|
+
* $Revision: 3559 $
|
15
|
+
*
|
16
|
+
* This file is part of Gecode, the generic constraint
|
17
|
+
* development environment:
|
18
|
+
* http://www.gecode.org
|
19
|
+
*
|
20
|
+
* See the file "LICENSE" for information on usage and
|
21
|
+
* redistribution of this file, and for a
|
22
|
+
* DISCLAIMER OF ALL WARRANTIES.
|
23
|
+
*
|
24
|
+
*/
|
25
|
+
|
26
|
+
namespace Gecode { namespace Set {
|
27
|
+
|
28
|
+
template <class View>
|
29
|
+
forceinline
|
30
|
+
ComplementView<View>::ComplementView(void) {}
|
31
|
+
|
32
|
+
template <class View>
|
33
|
+
forceinline
|
34
|
+
ComplementView<View>::ComplementView(View& s0)
|
35
|
+
: DerivedViewBase<View>(s0) {}
|
36
|
+
|
37
|
+
template <class View>
|
38
|
+
forceinline ModEvent
|
39
|
+
ComplementView<View>::me_negateset(ModEvent me) {
|
40
|
+
switch(me) {
|
41
|
+
case ME_SET_LUB : return ME_SET_GLB;
|
42
|
+
case ME_SET_GLB : return ME_SET_LUB;
|
43
|
+
case ME_SET_CLUB : return ME_SET_CGLB;
|
44
|
+
case ME_SET_CGLB : return ME_SET_CLUB;
|
45
|
+
default: return me;
|
46
|
+
}
|
47
|
+
}
|
48
|
+
|
49
|
+
template <class View>
|
50
|
+
forceinline PropCond
|
51
|
+
ComplementView<View>::pc_negateset(PropCond pc) {
|
52
|
+
switch(pc) {
|
53
|
+
case PC_SET_CLUB : return PC_SET_CGLB;
|
54
|
+
case PC_SET_CGLB : return PC_SET_CLUB;
|
55
|
+
default: return pc;
|
56
|
+
}
|
57
|
+
}
|
58
|
+
|
59
|
+
template <class View>
|
60
|
+
forceinline bool
|
61
|
+
ComplementView<View>::assigned(void) const { return view.assigned(); }
|
62
|
+
|
63
|
+
template <class View>
|
64
|
+
forceinline unsigned int
|
65
|
+
ComplementView<View>::glbSize(void) const {
|
66
|
+
return Limits::Set::card_max - view.lubSize();
|
67
|
+
}
|
68
|
+
|
69
|
+
template <class View>
|
70
|
+
forceinline unsigned int
|
71
|
+
ComplementView<View>::lubSize(void) const {
|
72
|
+
return Limits::Set::card_max - view.glbSize();
|
73
|
+
}
|
74
|
+
|
75
|
+
template <class View>
|
76
|
+
forceinline unsigned int
|
77
|
+
ComplementView<View>::unknownSize(void) const {
|
78
|
+
return lubSize() - glbSize();
|
79
|
+
}
|
80
|
+
|
81
|
+
template <class View>
|
82
|
+
forceinline bool
|
83
|
+
ComplementView<View>::contains(int n) const { return view.notContains(n); }
|
84
|
+
|
85
|
+
template <class View>
|
86
|
+
forceinline bool
|
87
|
+
ComplementView<View>::notContains(int n) const { return view.contains(n); }
|
88
|
+
|
89
|
+
template <class View>
|
90
|
+
forceinline unsigned int
|
91
|
+
ComplementView<View>::cardMin() const {
|
92
|
+
return Limits::Set::card_max - view.cardMax();
|
93
|
+
}
|
94
|
+
|
95
|
+
template <class View>
|
96
|
+
forceinline unsigned int
|
97
|
+
ComplementView<View>::cardMax() const {
|
98
|
+
return Limits::Set::card_max - view.cardMin();
|
99
|
+
}
|
100
|
+
|
101
|
+
template <class View>
|
102
|
+
forceinline int
|
103
|
+
ComplementView<View>::lubMin() const {
|
104
|
+
GlbRanges<View> lb(view);
|
105
|
+
RangesCompl<GlbRanges<View> > lbc(lb);
|
106
|
+
if (lbc()) {
|
107
|
+
return lbc.min();
|
108
|
+
} else {
|
109
|
+
return BndSet::MIN_OF_EMPTY;
|
110
|
+
}
|
111
|
+
}
|
112
|
+
|
113
|
+
template <class View>
|
114
|
+
forceinline int
|
115
|
+
ComplementView<View>::lubMax() const {
|
116
|
+
GlbRanges<View> lb(view);
|
117
|
+
RangesCompl<GlbRanges<View> > lbc(lb);
|
118
|
+
if (lbc()) {
|
119
|
+
while(lbc()) ++lbc;
|
120
|
+
return lbc.max();
|
121
|
+
} else {
|
122
|
+
return BndSet::MAX_OF_EMPTY;
|
123
|
+
}
|
124
|
+
}
|
125
|
+
|
126
|
+
template <class View>
|
127
|
+
forceinline int
|
128
|
+
ComplementView<View>::glbMin() const {
|
129
|
+
LubRanges<View> ub(view);
|
130
|
+
RangesCompl<LubRanges<View> > ubc(ub);
|
131
|
+
if (ubc()) {
|
132
|
+
return ubc.min();
|
133
|
+
} else {
|
134
|
+
return BndSet::MIN_OF_EMPTY;
|
135
|
+
}
|
136
|
+
}
|
137
|
+
|
138
|
+
template <class View>
|
139
|
+
forceinline int
|
140
|
+
ComplementView<View>::glbMax() const {
|
141
|
+
LubRanges<View> ub(view);
|
142
|
+
RangesCompl<LubRanges<View> > ubc(ub);
|
143
|
+
if (ubc()) {
|
144
|
+
while(ubc()) ++ubc;
|
145
|
+
return ubc.max();
|
146
|
+
} else {
|
147
|
+
return BndSet::MAX_OF_EMPTY;
|
148
|
+
}
|
149
|
+
}
|
150
|
+
|
151
|
+
template <class View>
|
152
|
+
forceinline ModEvent
|
153
|
+
ComplementView<View>::cardMin(Space* home, unsigned int c) {
|
154
|
+
if (c < Limits::Set::card_max)
|
155
|
+
return me_negateset(view.cardMax(home, Limits::Set::card_max - c));
|
156
|
+
return ME_SET_NONE;
|
157
|
+
}
|
158
|
+
|
159
|
+
template <class View>
|
160
|
+
forceinline ModEvent
|
161
|
+
ComplementView<View>::cardMax(Space* home, unsigned int c) {
|
162
|
+
if (c < Limits::Set::card_max)
|
163
|
+
return me_negateset(view.cardMin(home, Limits::Set::card_max - c));
|
164
|
+
return ME_SET_NONE;
|
165
|
+
}
|
166
|
+
|
167
|
+
template <class View>
|
168
|
+
forceinline ModEvent
|
169
|
+
ComplementView<View>::include(Space* home, int c) {
|
170
|
+
return me_negateset((view.exclude(home, c)));
|
171
|
+
}
|
172
|
+
|
173
|
+
template <class View>
|
174
|
+
forceinline ModEvent
|
175
|
+
ComplementView<View>::exclude(Space* home, int c) {
|
176
|
+
return me_negateset((view.include(home, c)));
|
177
|
+
}
|
178
|
+
|
179
|
+
template <class View>
|
180
|
+
forceinline ModEvent
|
181
|
+
ComplementView<View>::intersect(Space* home, int c) {
|
182
|
+
Iter::Ranges::Singleton si(c,c);
|
183
|
+
return me_negateset((view.includeI(home, si)));
|
184
|
+
}
|
185
|
+
|
186
|
+
template <class View>
|
187
|
+
forceinline ModEvent
|
188
|
+
ComplementView<View>::intersect(Space* home, int i, int j) {
|
189
|
+
Iter::Ranges::Singleton si(i,j);
|
190
|
+
return me_negateset((view.includeI(home, si)));
|
191
|
+
}
|
192
|
+
|
193
|
+
template <class View>
|
194
|
+
forceinline ModEvent
|
195
|
+
ComplementView<View>::include(Space* home, int j, int k) {
|
196
|
+
return me_negateset(view.exclude(home,j,k));
|
197
|
+
}
|
198
|
+
|
199
|
+
template <class View>
|
200
|
+
forceinline ModEvent
|
201
|
+
ComplementView<View>::exclude(Space* home, int j, int k) {
|
202
|
+
return me_negateset(view.include(home,j,k));
|
203
|
+
}
|
204
|
+
|
205
|
+
template <class View>
|
206
|
+
template <class I> ModEvent
|
207
|
+
ComplementView<View>::excludeI(Space* home,I& iter) {
|
208
|
+
return me_negateset(view.includeI(home,iter));
|
209
|
+
}
|
210
|
+
|
211
|
+
template <class View>
|
212
|
+
template <class I> ModEvent
|
213
|
+
ComplementView<View>::includeI(Space* home,I& iter) {
|
214
|
+
return me_negateset(view.excludeI(home,iter));
|
215
|
+
}
|
216
|
+
|
217
|
+
template <class View>
|
218
|
+
template <class I> ModEvent
|
219
|
+
ComplementView<View>::intersectI(Space* home,I& iter) {
|
220
|
+
RangesCompl<I> c(iter);
|
221
|
+
return me_negateset(view.includeI(home,c));
|
222
|
+
}
|
223
|
+
|
224
|
+
template <class View>
|
225
|
+
forceinline void
|
226
|
+
ComplementView<View>::subscribe(Space* home, Propagator* p, PropCond pc,
|
227
|
+
bool process) {
|
228
|
+
view.subscribe(home,p, pc_negateset(pc),process);
|
229
|
+
}
|
230
|
+
|
231
|
+
template <class View>
|
232
|
+
forceinline void
|
233
|
+
ComplementView<View>::cancel(Space* home, Propagator* p, PropCond pc) {
|
234
|
+
view.cancel(home,p, pc_negateset(pc));
|
235
|
+
}
|
236
|
+
|
237
|
+
template <class View>
|
238
|
+
forceinline ModEvent
|
239
|
+
ComplementView<View>::pme(const Propagator* p) {
|
240
|
+
return me_negateset(View::pme(p));
|
241
|
+
}
|
242
|
+
|
243
|
+
template <class View>
|
244
|
+
forceinline PropModEvent
|
245
|
+
ComplementView<View>::pme(ModEvent me) {
|
246
|
+
return me_negateset(View::pme(me));
|
247
|
+
}
|
248
|
+
|
249
|
+
template <class View>
|
250
|
+
forceinline void
|
251
|
+
ComplementView<View>::update(Space* home, bool share,
|
252
|
+
ComplementView& y) {
|
253
|
+
view.update(home,share,y.view);
|
254
|
+
}
|
255
|
+
|
256
|
+
/*
|
257
|
+
* Specialization for double negation
|
258
|
+
*
|
259
|
+
*/
|
260
|
+
|
261
|
+
template <class View>
|
262
|
+
forceinline
|
263
|
+
ComplementView<ComplementView<View> >::ComplementView(void) {}
|
264
|
+
|
265
|
+
template <class View>
|
266
|
+
forceinline
|
267
|
+
ComplementView<ComplementView<View> >::
|
268
|
+
ComplementView(ComplementView<View>& s0)
|
269
|
+
: View(s0.base()) {}
|
270
|
+
|
271
|
+
|
272
|
+
/**
|
273
|
+
* \brief %Range iterator for least upper bound of complement set views
|
274
|
+
* \ingroup TaskActorSetView
|
275
|
+
*/
|
276
|
+
template <class View>
|
277
|
+
class LubRanges<ComplementView<View> > {
|
278
|
+
private:
|
279
|
+
GlbRanges<View> lb;
|
280
|
+
RangesCompl<GlbRanges<View> > lbc;
|
281
|
+
public:
|
282
|
+
/// \name Constructors and initialization
|
283
|
+
//@{
|
284
|
+
/// Default constructor
|
285
|
+
LubRanges(void) {}
|
286
|
+
/// Initialize with ranges for view \a x
|
287
|
+
LubRanges(const ComplementView<View>& x);
|
288
|
+
/// Initialize with ranges for view \a x
|
289
|
+
void init(const ComplementView<View>& x);
|
290
|
+
|
291
|
+
/// \name Iteration control
|
292
|
+
//@{
|
293
|
+
/// Test whether iterator is still at a range or done
|
294
|
+
bool operator()(void) const;
|
295
|
+
/// Move iterator to next range (if possible)
|
296
|
+
void operator++(void);
|
297
|
+
//@}
|
298
|
+
|
299
|
+
/// \name Range access
|
300
|
+
//@{
|
301
|
+
/// Return smallest value of range
|
302
|
+
int min(void) const;
|
303
|
+
/// Return largest value of range
|
304
|
+
int max(void) const;
|
305
|
+
/// Return width of ranges (distance between minimum and maximum)
|
306
|
+
unsigned int width(void) const;
|
307
|
+
//@}
|
308
|
+
};
|
309
|
+
|
310
|
+
template <class View>
|
311
|
+
forceinline
|
312
|
+
LubRanges<ComplementView<View> >::LubRanges(const ComplementView<View>& s)
|
313
|
+
: lb(s.base()), lbc(lb) {}
|
314
|
+
|
315
|
+
template <class View>
|
316
|
+
forceinline void
|
317
|
+
LubRanges<ComplementView<View> >::init(const ComplementView<View>& s) {
|
318
|
+
lb.init(s.base());
|
319
|
+
lbc.init(lb);
|
320
|
+
}
|
321
|
+
|
322
|
+
template <class View>
|
323
|
+
forceinline bool
|
324
|
+
LubRanges<ComplementView<View> >::operator()(void) const { return lbc(); }
|
325
|
+
|
326
|
+
template <class View>
|
327
|
+
forceinline void
|
328
|
+
LubRanges<ComplementView<View> >::operator++(void) { return ++lbc; }
|
329
|
+
|
330
|
+
template <class View>
|
331
|
+
forceinline int
|
332
|
+
LubRanges<ComplementView<View> >::min(void) const { return lbc.min(); }
|
333
|
+
|
334
|
+
template <class View>
|
335
|
+
forceinline int
|
336
|
+
LubRanges<ComplementView<View> >::max(void) const { return lbc.max(); }
|
337
|
+
|
338
|
+
template <class View>
|
339
|
+
forceinline unsigned int
|
340
|
+
LubRanges<ComplementView<View> >::width(void) const { return lbc.width(); }
|
341
|
+
|
342
|
+
/**
|
343
|
+
* \brief Range iterator for the least upper bound of double-complement-views
|
344
|
+
*
|
345
|
+
* This class provides (by specialization) a range iterator
|
346
|
+
* for the least upper bounds of complements of complement set views.
|
347
|
+
*
|
348
|
+
* \ingroup TaskActorSet
|
349
|
+
*/
|
350
|
+
template <class View>
|
351
|
+
class LubRanges<ComplementView<ComplementView<View> > > :
|
352
|
+
public LubRanges<View> {
|
353
|
+
public:
|
354
|
+
/// \name Constructors and initialization
|
355
|
+
//@{
|
356
|
+
/// Default constructor
|
357
|
+
LubRanges(void) {}
|
358
|
+
/// Initialize with ranges for view \a x
|
359
|
+
LubRanges(const ComplementView<ComplementView<View> >& x);
|
360
|
+
/// Initialize with ranges for view \a x
|
361
|
+
void init(const ComplementView<ComplementView<View> >& x);
|
362
|
+
//@}
|
363
|
+
};
|
364
|
+
|
365
|
+
template <class View>
|
366
|
+
forceinline
|
367
|
+
LubRanges<ComplementView<ComplementView<View> > >::
|
368
|
+
LubRanges(const ComplementView<ComplementView<View> >& x) :
|
369
|
+
LubRanges<View>(x) {}
|
370
|
+
|
371
|
+
template <class View>
|
372
|
+
forceinline void
|
373
|
+
LubRanges<ComplementView<ComplementView<View> > >::
|
374
|
+
init(const ComplementView<ComplementView<View> >& x) {
|
375
|
+
LubRanges<View>::init(x);
|
376
|
+
}
|
377
|
+
|
378
|
+
/**
|
379
|
+
* \brief %Range iterator for greatest lower bound of complement set views
|
380
|
+
* \ingroup TaskActorSetView
|
381
|
+
*/
|
382
|
+
template <class View>
|
383
|
+
class GlbRanges<ComplementView<View> > {
|
384
|
+
private:
|
385
|
+
LubRanges<View> ub;
|
386
|
+
RangesCompl<LubRanges<View> > ubc;
|
387
|
+
public:
|
388
|
+
/// \name Constructors and initialization
|
389
|
+
//@{
|
390
|
+
/// Default constructor
|
391
|
+
GlbRanges(void) {}
|
392
|
+
/// Initialize with ranges for view \a x
|
393
|
+
GlbRanges(const ComplementView<View> & x);
|
394
|
+
/// Initialize with ranges for view \a x
|
395
|
+
void init(const ComplementView<View> & x);
|
396
|
+
|
397
|
+
/// \name Iteration control
|
398
|
+
//@{
|
399
|
+
/// Test whether iterator is still at a range or done
|
400
|
+
bool operator()(void) const;
|
401
|
+
/// Move iterator to next range (if possible)
|
402
|
+
void operator++(void);
|
403
|
+
//@}
|
404
|
+
|
405
|
+
/// \name Range access
|
406
|
+
//@{
|
407
|
+
/// Return smallest value of range
|
408
|
+
int min(void) const;
|
409
|
+
/// Return largest value of range
|
410
|
+
int max(void) const;
|
411
|
+
/// Return width of ranges (distance between minimum and maximum)
|
412
|
+
unsigned int width(void) const;
|
413
|
+
//@}
|
414
|
+
};
|
415
|
+
|
416
|
+
template <class View>
|
417
|
+
forceinline
|
418
|
+
GlbRanges<ComplementView<View> >::GlbRanges(const ComplementView<View> & s)
|
419
|
+
: ub(s.base()), ubc(ub) {}
|
420
|
+
|
421
|
+
template <class View>
|
422
|
+
forceinline void
|
423
|
+
GlbRanges<ComplementView<View> >::init(const ComplementView<View> & s) {
|
424
|
+
ub.init(s.base());
|
425
|
+
ubc.init(ub);
|
426
|
+
}
|
427
|
+
|
428
|
+
template <class View>
|
429
|
+
forceinline bool
|
430
|
+
GlbRanges<ComplementView<View> >::operator()(void) const { return ubc(); }
|
431
|
+
|
432
|
+
template <class View>
|
433
|
+
forceinline void
|
434
|
+
GlbRanges<ComplementView<View> >::operator++(void) { return ++ubc; }
|
435
|
+
|
436
|
+
template <class View>
|
437
|
+
forceinline int
|
438
|
+
GlbRanges<ComplementView<View> >::min(void) const { return ubc.min(); }
|
439
|
+
|
440
|
+
template <class View>
|
441
|
+
forceinline int
|
442
|
+
GlbRanges<ComplementView<View> >::max(void) const { return ubc.max(); }
|
443
|
+
|
444
|
+
template <class View>
|
445
|
+
forceinline unsigned int
|
446
|
+
GlbRanges<ComplementView<View> >::width(void) const { return ubc.width(); }
|
447
|
+
|
448
|
+
/**
|
449
|
+
* \brief Range iterator for the greatest lower bound of double-complement-views
|
450
|
+
*
|
451
|
+
* This class provides (by specialization) a range iterator
|
452
|
+
* for the greatest lower bounds of complements of complement set views.
|
453
|
+
*
|
454
|
+
* \ingroup TaskActorSet
|
455
|
+
*/
|
456
|
+
template <class View>
|
457
|
+
class GlbRanges<ComplementView<ComplementView<View> > > :
|
458
|
+
public GlbRanges<View> {
|
459
|
+
public:
|
460
|
+
/// \name Constructors and initialization
|
461
|
+
//@{
|
462
|
+
/// Default constructor
|
463
|
+
GlbRanges(void) {}
|
464
|
+
/// Initialize with ranges for view \a x
|
465
|
+
GlbRanges(const ComplementView<ComplementView<View> >& x);
|
466
|
+
/// Initialize with ranges for view \a x
|
467
|
+
void init(const ComplementView<ComplementView<View> >& x);
|
468
|
+
//@}
|
469
|
+
};
|
470
|
+
|
471
|
+
template <class View>
|
472
|
+
forceinline
|
473
|
+
GlbRanges<ComplementView<ComplementView<View> > >::
|
474
|
+
GlbRanges(const ComplementView<ComplementView<View> >& x) :
|
475
|
+
GlbRanges<View>(x) {}
|
476
|
+
|
477
|
+
template <class View>
|
478
|
+
forceinline void
|
479
|
+
GlbRanges<ComplementView<ComplementView<View> > >::
|
480
|
+
init(const ComplementView<ComplementView<View> >& x) {
|
481
|
+
GlbRanges<View>::init(x);
|
482
|
+
}
|
483
|
+
|
484
|
+
}
|
485
|
+
|
486
|
+
|
487
|
+
/*
|
488
|
+
* Testing
|
489
|
+
*
|
490
|
+
*/
|
491
|
+
template <class View>
|
492
|
+
forceinline bool
|
493
|
+
same(const Set::ComplementView<View>& x,
|
494
|
+
const Set::ComplementView<View>& y) {
|
495
|
+
return same(x.base(),y.base());
|
496
|
+
}
|
497
|
+
template <class View>
|
498
|
+
forceinline bool
|
499
|
+
before(const Set::ComplementView<View>& x,
|
500
|
+
const Set::ComplementView<View>& y) {
|
501
|
+
return before(x.base(),y.base());
|
502
|
+
}
|
503
|
+
template <class View>
|
504
|
+
forceinline bool
|
505
|
+
same(const Set::ComplementView<Set::ComplementView<View> >& x,
|
506
|
+
const Set::ComplementView<Set::ComplementView<View> >& y) {
|
507
|
+
return same(x,y);
|
508
|
+
}
|
509
|
+
template <class View>
|
510
|
+
forceinline bool
|
511
|
+
before(const Set::ComplementView<Set::ComplementView<View> >& x,
|
512
|
+
const Set::ComplementView<Set::ComplementView<View> >& y) {
|
513
|
+
return before(x,y);
|
514
|
+
}
|
515
|
+
|
516
|
+
}
|
517
|
+
|
518
|
+
template <class View>
|
519
|
+
forceinline
|
520
|
+
std::ostream&
|
521
|
+
operator<<(std::ostream& os, const Gecode::Set::ComplementView<View>& s) {
|
522
|
+
return os << "(" << s.base() << ")^C";
|
523
|
+
}
|
524
|
+
|
525
|
+
// STATISTICS: set-var
|