gecoder-with-gecode 0.9.0 → 0.9.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (919) hide show
  1. data/CHANGES +6 -0
  2. data/README +1 -1
  3. data/THANKS +18 -0
  4. data/example/equation_system.rb +3 -1
  5. data/example/magic_sequence.rb +3 -1
  6. data/example/queens.rb +3 -1
  7. data/example/send_more_money.rb +24 -30
  8. data/example/send_most_money.rb +15 -26
  9. data/example/square_tiling.rb +3 -1
  10. data/example/sudoku-set.rb +3 -1
  11. data/ext/{gecode-2.1.1 → gecode-2.2.0}/LICENSE +0 -0
  12. data/ext/{gecode-2.1.1 → gecode-2.2.0}/Makefile.contribs +0 -0
  13. data/ext/gecode-2.2.0/Makefile.dep +8056 -0
  14. data/ext/gecode-2.2.0/Makefile.in +1590 -0
  15. data/ext/gecode-2.2.0/changelog.in +2698 -0
  16. data/ext/gecode-2.2.0/configure +13112 -0
  17. data/ext/gecode-2.2.0/configure.ac +273 -0
  18. data/ext/gecode-2.2.0/configure.ac.in +269 -0
  19. data/ext/{gecode-2.1.1 → gecode-2.2.0}/contribs/README +0 -0
  20. data/ext/gecode-2.2.0/contribs/qecode/Doxyfile +263 -0
  21. data/ext/gecode-2.2.0/contribs/qecode/Implicative.cc +267 -0
  22. data/ext/gecode-2.2.0/contribs/qecode/Implicative.hh +164 -0
  23. data/ext/gecode-2.2.0/contribs/qecode/Makefile.in.in +163 -0
  24. data/ext/gecode-2.2.0/contribs/qecode/OptVar.cc +82 -0
  25. data/ext/gecode-2.2.0/contribs/qecode/OptVar.hh +123 -0
  26. data/ext/gecode-2.2.0/contribs/qecode/Strategy.cc +131 -0
  27. data/ext/gecode-2.2.0/contribs/qecode/Strategy.hh +91 -0
  28. data/ext/gecode-2.2.0/contribs/qecode/StrategyNode.cc +62 -0
  29. data/ext/gecode-2.2.0/contribs/qecode/StrategyNode.hh +47 -0
  30. data/ext/gecode-2.2.0/contribs/qecode/autom4te.cache/output.0 +2264 -0
  31. data/ext/gecode-2.2.0/contribs/qecode/autom4te.cache/requests +115 -0
  32. data/ext/gecode-2.2.0/contribs/qecode/autom4te.cache/traces.0 +57 -0
  33. data/ext/gecode-2.2.0/contribs/qecode/config.log +147 -0
  34. data/ext/gecode-2.2.0/contribs/qecode/config.status +817 -0
  35. data/ext/gecode-2.2.0/contribs/qecode/configure +2264 -0
  36. data/ext/gecode-2.2.0/contribs/qecode/configure.ac +23 -0
  37. data/ext/gecode-2.2.0/contribs/qecode/examples/COMPILING +13 -0
  38. data/ext/gecode-2.2.0/contribs/qecode/examples/MatrixGame.cpp +140 -0
  39. data/ext/gecode-2.2.0/contribs/qecode/examples/NimFibo.cpp +73 -0
  40. data/ext/gecode-2.2.0/contribs/qecode/examples/connect-5-3-3-3.cpp +842 -0
  41. data/ext/gecode-2.2.0/contribs/qecode/examples/network-pricing.cc +146 -0
  42. data/ext/gecode-2.2.0/contribs/qecode/examples/optim2.cc +149 -0
  43. data/ext/gecode-2.2.0/contribs/qecode/examples/stress_test.cpp +240 -0
  44. data/ext/{gecode-2.1.1 → gecode-2.2.0}/contribs/qecode/heap.cc +0 -0
  45. data/ext/{gecode-2.1.1 → gecode-2.2.0}/contribs/qecode/myDom.cc +0 -0
  46. data/ext/{gecode-2.1.1 → gecode-2.2.0}/contribs/qecode/myspace.cc +0 -0
  47. data/ext/gecode-2.2.0/contribs/qecode/myspace.hh +68 -0
  48. data/ext/{gecode-2.1.1 → gecode-2.2.0}/contribs/qecode/qecode.hh +0 -0
  49. data/ext/gecode-2.2.0/contribs/qecode/qsolver.cc +268 -0
  50. data/ext/gecode-2.2.0/contribs/qecode/qsolver.hh +46 -0
  51. data/ext/{gecode-2.1.1 → gecode-2.2.0}/contribs/qecode/shortdesc.ac +0 -0
  52. data/ext/{gecode-2.1.1 → gecode-2.2.0}/contribs/qecode/vartype.hh +0 -0
  53. data/ext/{gecode-2.1.1 → gecode-2.2.0}/doxygen/doxygen.conf.in +0 -0
  54. data/ext/gecode-2.2.0/doxygen/doxygen.hh.in +1112 -0
  55. data/ext/gecode-2.2.0/doxygen/reflection.hh +417 -0
  56. data/ext/gecode-2.2.0/examples/all-interval.cc +133 -0
  57. data/ext/gecode-2.2.0/examples/alpha.cc +137 -0
  58. data/ext/gecode-2.2.0/examples/bacp.cc +521 -0
  59. data/ext/gecode-2.2.0/examples/baseline.cc +87 -0
  60. data/ext/gecode-2.2.0/examples/bibd.cc +203 -0
  61. data/ext/gecode-2.2.0/examples/black-hole.cc +389 -0
  62. data/ext/gecode-2.2.0/examples/crew.cc +286 -0
  63. data/ext/gecode-2.2.0/examples/crowded-chess.cc +424 -0
  64. data/ext/gecode-2.2.0/examples/domino.cc +297 -0
  65. data/ext/gecode-2.2.0/examples/donald.cc +107 -0
  66. data/ext/gecode-2.2.0/examples/eq20.cc +125 -0
  67. data/ext/gecode-2.2.0/examples/golf.cc +297 -0
  68. data/ext/gecode-2.2.0/examples/golomb-ruler.cc +199 -0
  69. data/ext/gecode-2.2.0/examples/graph-color.cc +407 -0
  70. data/ext/gecode-2.2.0/examples/grocery.cc +113 -0
  71. data/ext/gecode-2.2.0/examples/hamming.cc +129 -0
  72. data/ext/gecode-2.2.0/examples/ind-set.cc +143 -0
  73. data/ext/gecode-2.2.0/examples/javascript.cc +163 -0
  74. data/ext/gecode-2.2.0/examples/kakuro.cc +686 -0
  75. data/ext/gecode-2.2.0/examples/knights.cc +220 -0
  76. data/ext/gecode-2.2.0/examples/langford-number.cc +225 -0
  77. data/ext/gecode-2.2.0/examples/magic-sequence.cc +146 -0
  78. data/ext/gecode-2.2.0/examples/magic-square.cc +138 -0
  79. data/ext/gecode-2.2.0/examples/minesweeper.cc +304 -0
  80. data/ext/gecode-2.2.0/examples/money.cc +105 -0
  81. data/ext/gecode-2.2.0/examples/nonogram.cc +492 -0
  82. data/ext/gecode-2.2.0/examples/ortho-latin.cc +172 -0
  83. data/ext/gecode-2.2.0/examples/partition.cc +141 -0
  84. data/ext/gecode-2.2.0/examples/pentominoes.cc +949 -0
  85. data/ext/gecode-2.2.0/examples/perfect-square.cc +311 -0
  86. data/ext/gecode-2.2.0/examples/photo.cc +170 -0
  87. data/ext/gecode-2.2.0/examples/queen-armies.cc +284 -0
  88. data/ext/gecode-2.2.0/examples/queens.cc +147 -0
  89. data/ext/gecode-2.2.0/examples/queens.js +57 -0
  90. data/ext/gecode-2.2.0/examples/sports-league.cc +342 -0
  91. data/ext/gecode-2.2.0/examples/steiner.cc +192 -0
  92. data/ext/gecode-2.2.0/examples/stress-distinct.cc +90 -0
  93. data/ext/gecode-2.2.0/examples/stress-domain.cc +99 -0
  94. data/ext/gecode-2.2.0/examples/stress-element.cc +112 -0
  95. data/ext/gecode-2.2.0/examples/stress-exec.cc +97 -0
  96. data/ext/gecode-2.2.0/examples/stress-extensional.cc +134 -0
  97. data/ext/gecode-2.2.0/examples/stress-linear-bool.cc +97 -0
  98. data/ext/gecode-2.2.0/examples/stress-min.cc +98 -0
  99. data/ext/gecode-2.2.0/examples/stress-search.cc +88 -0
  100. data/ext/gecode-2.2.0/examples/sudoku.cc +2341 -0
  101. data/ext/gecode-2.2.0/examples/support.hh +338 -0
  102. data/ext/gecode-2.2.0/examples/support/example.cc +64 -0
  103. data/ext/gecode-2.2.0/examples/support/example.icc +321 -0
  104. data/ext/gecode-2.2.0/examples/support/options.cc +226 -0
  105. data/ext/gecode-2.2.0/examples/support/options.icc +276 -0
  106. data/ext/gecode-2.2.0/examples/tsp.cc +317 -0
  107. data/ext/gecode-2.2.0/examples/warehouses.cc +191 -0
  108. data/ext/gecode-2.2.0/gecode.m4 +1046 -0
  109. data/ext/gecode-2.2.0/gecode/cpltset.hh +797 -0
  110. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/array.cc +0 -0
  111. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/array.icc +0 -0
  112. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/bddmanager.cc +0 -0
  113. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/bddmanager.icc +0 -0
  114. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/branch.cc +0 -0
  115. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/branch.hh +0 -0
  116. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/branch/select-val.icc +0 -0
  117. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/branch/select-view.icc +0 -0
  118. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/constraints/atmost.cc +0 -0
  119. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/constraints/cardinality.cc +0 -0
  120. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/constraints/distinct.cc +0 -0
  121. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/constraints/dom.cc +0 -0
  122. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/constraints/partition.cc +0 -0
  123. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/constraints/rangeroots.cc +0 -0
  124. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/constraints/rel.cc +0 -0
  125. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/constraints/select.cc +0 -0
  126. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/constraints/singleton.cc +0 -0
  127. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/exception.icc +0 -0
  128. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/propagators.hh +0 -0
  129. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/propagators/binary.icc +0 -0
  130. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/propagators/nary.icc +0 -0
  131. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/propagators/naryone.icc +0 -0
  132. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/propagators/narytwo.icc +0 -0
  133. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/propagators/singleton.icc +0 -0
  134. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/propagators/unary.icc +0 -0
  135. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/support.cc +0 -0
  136. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/support.icc +0 -0
  137. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/var-imp.icc +0 -0
  138. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/var-imp/cpltset.cc +0 -0
  139. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/var-imp/cpltset.icc +0 -0
  140. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/var-imp/cpltset.vis +0 -0
  141. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/var/cpltset.cc +0 -0
  142. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/var/cpltset.icc +0 -0
  143. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/view.icc +0 -0
  144. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/view/cpltset.icc +0 -0
  145. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/cpltset/view/print.cc +0 -0
  146. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist.hh +0 -0
  147. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/addchild.cc +0 -0
  148. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/addchild.hh +0 -0
  149. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/addvisualisationdialog.cc +0 -0
  150. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/addvisualisationdialog.hh +0 -0
  151. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/better.hh +0 -0
  152. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/config.cc +0 -0
  153. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/config.hh +0 -0
  154. data/ext/gecode-2.2.0/gecode/gist/drawingcursor.cc +281 -0
  155. data/ext/gecode-2.2.0/gecode/gist/drawingcursor.hh +103 -0
  156. data/ext/gecode-2.2.0/gecode/gist/drawingcursor.icc +70 -0
  157. data/ext/gecode-2.2.0/gecode/gist/gecodelogo.cc +672 -0
  158. data/ext/gecode-2.2.0/gecode/gist/gecodelogo.hh +64 -0
  159. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/gist.cc +0 -0
  160. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/gist.icc +0 -0
  161. data/ext/gecode-2.2.0/gecode/gist/layoutcursor.cc +115 -0
  162. data/ext/gecode-2.2.0/gecode/gist/layoutcursor.hh +75 -0
  163. data/ext/gecode-2.2.0/gecode/gist/layoutcursor.icc +48 -0
  164. data/ext/gecode-2.2.0/gecode/gist/mainwindow.cc +274 -0
  165. data/ext/gecode-2.2.0/gecode/gist/mainwindow.hh +86 -0
  166. data/ext/gecode-2.2.0/gecode/gist/node.cc +148 -0
  167. data/ext/gecode-2.2.0/gecode/gist/node.hh +117 -0
  168. data/ext/gecode-2.2.0/gecode/gist/node.icc +99 -0
  169. data/ext/gecode-2.2.0/gecode/gist/nodecursor.cc +123 -0
  170. data/ext/gecode-2.2.0/gecode/gist/nodecursor.hh +147 -0
  171. data/ext/gecode-2.2.0/gecode/gist/nodecursor.icc +122 -0
  172. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/nodevisitor.hh +0 -0
  173. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/nodevisitor.icc +0 -0
  174. data/ext/gecode-2.2.0/gecode/gist/preferences.cc +120 -0
  175. data/ext/gecode-2.2.0/gecode/gist/preferences.hh +79 -0
  176. data/ext/gecode-2.2.0/gecode/gist/spacenode.cc +468 -0
  177. data/ext/gecode-2.2.0/gecode/gist/spacenode.hh +227 -0
  178. data/ext/gecode-2.2.0/gecode/gist/spacenode.icc +170 -0
  179. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/test.cc +0 -0
  180. data/ext/gecode-2.2.0/gecode/gist/textoutput.cc +134 -0
  181. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/textoutput.hh +0 -0
  182. data/ext/gecode-2.2.0/gecode/gist/treecanvas.cc +1343 -0
  183. data/ext/gecode-2.2.0/gecode/gist/treecanvas.hh +361 -0
  184. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/ui_addchild.hh +0 -0
  185. data/ext/gecode-2.2.0/gecode/gist/ui_addvisualisationdialog.hh +165 -0
  186. data/ext/gecode-2.2.0/gecode/gist/visualisation/intvaritem.cc +192 -0
  187. data/ext/gecode-2.2.0/gecode/gist/visualisation/intvaritem.hh +75 -0
  188. data/ext/gecode-2.2.0/gecode/gist/visualisation/setvaritem.cc +235 -0
  189. data/ext/gecode-2.2.0/gecode/gist/visualisation/setvaritem.hh +77 -0
  190. data/ext/gecode-2.2.0/gecode/gist/visualisation/vararrayitem.hh +125 -0
  191. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/visualisation/vararrayview.cc +0 -0
  192. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/visualisation/vararrayview.hh +0 -0
  193. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/visualisation/vararrayviewt.hh +0 -0
  194. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/visualisation/varitem.cc +0 -0
  195. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/gist/visualisation/varitem.hh +0 -0
  196. data/ext/gecode-2.2.0/gecode/gist/visualnode.cc +474 -0
  197. data/ext/gecode-2.2.0/gecode/gist/visualnode.hh +226 -0
  198. data/ext/gecode-2.2.0/gecode/gist/visualnode.icc +198 -0
  199. data/ext/gecode-2.2.0/gecode/gist/zoomToFitIcon.icc +113 -0
  200. data/ext/gecode-2.2.0/gecode/int.hh +2116 -0
  201. data/ext/gecode-2.2.0/gecode/int/arithmetic.cc +237 -0
  202. data/ext/gecode-2.2.0/gecode/int/arithmetic.hh +827 -0
  203. data/ext/gecode-2.2.0/gecode/int/arithmetic/abs.icc +278 -0
  204. data/ext/gecode-2.2.0/gecode/int/arithmetic/divmod.icc +496 -0
  205. data/ext/gecode-2.2.0/gecode/int/arithmetic/max.icc +474 -0
  206. data/ext/gecode-2.2.0/gecode/int/arithmetic/mult.icc +858 -0
  207. data/ext/gecode-2.2.0/gecode/int/arithmetic/sqr.icc +464 -0
  208. data/ext/gecode-2.2.0/gecode/int/arithmetic/sqrt.icc +260 -0
  209. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/array.cc +0 -0
  210. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/array.icc +0 -0
  211. data/ext/gecode-2.2.0/gecode/int/bool.cc +734 -0
  212. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/bool.hh +0 -0
  213. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/bool/base.icc +0 -0
  214. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/bool/eq.icc +0 -0
  215. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/bool/eqv.icc +0 -0
  216. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/bool/lq.icc +0 -0
  217. data/ext/gecode-2.2.0/gecode/int/bool/or.icc +1000 -0
  218. data/ext/gecode-2.2.0/gecode/int/branch.cc +167 -0
  219. data/ext/gecode-2.2.0/gecode/int/branch.hh +587 -0
  220. data/ext/gecode-2.2.0/gecode/int/branch/create-branch.icc +190 -0
  221. data/ext/gecode-2.2.0/gecode/int/branch/select-val.icc +340 -0
  222. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/branch/select-view.icc +0 -0
  223. data/ext/gecode-2.2.0/gecode/int/channel.cc +165 -0
  224. data/ext/gecode-2.2.0/gecode/int/channel.hh +259 -0
  225. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/channel/base.icc +0 -0
  226. data/ext/gecode-2.2.0/gecode/int/channel/dom.icc +348 -0
  227. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/channel/link-multi.cc +0 -0
  228. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/channel/link-multi.icc +0 -0
  229. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/channel/link-single.cc +0 -0
  230. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/channel/link-single.icc +0 -0
  231. data/ext/gecode-2.2.0/gecode/int/channel/val.icc +278 -0
  232. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/circuit.cc +0 -0
  233. data/ext/gecode-2.2.0/gecode/int/circuit.hh +175 -0
  234. data/ext/gecode-2.2.0/gecode/int/circuit/base.icc +266 -0
  235. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/circuit/dom.icc +0 -0
  236. data/ext/gecode-2.2.0/gecode/int/circuit/val.icc +126 -0
  237. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/count.cc +0 -0
  238. data/ext/gecode-2.2.0/gecode/int/count.hh +487 -0
  239. data/ext/gecode-2.2.0/gecode/int/count/int.icc +620 -0
  240. data/ext/gecode-2.2.0/gecode/int/count/rel.icc +144 -0
  241. data/ext/gecode-2.2.0/gecode/int/count/view.icc +449 -0
  242. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/cumulatives.cc +0 -0
  243. data/ext/gecode-2.2.0/gecode/int/cumulatives.hh +138 -0
  244. data/ext/gecode-2.2.0/gecode/int/cumulatives/val.icc +455 -0
  245. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/distinct.cc +0 -0
  246. data/ext/gecode-2.2.0/gecode/int/distinct.hh +341 -0
  247. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/distinct/bilink.icc +0 -0
  248. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/distinct/bnd.icc +0 -0
  249. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/distinct/combptr.icc +0 -0
  250. data/ext/gecode-2.2.0/gecode/int/distinct/dom.icc +752 -0
  251. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/distinct/edge.icc +0 -0
  252. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/distinct/node.icc +0 -0
  253. data/ext/gecode-2.2.0/gecode/int/distinct/ter-dom.icc +136 -0
  254. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/distinct/val.icc +0 -0
  255. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/dom.cc +0 -0
  256. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/dom.hh +0 -0
  257. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/dom/range.icc +0 -0
  258. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/dom/spec.icc +0 -0
  259. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/element.cc +0 -0
  260. data/ext/gecode-2.2.0/gecode/int/element.hh +239 -0
  261. data/ext/gecode-2.2.0/gecode/int/element/int.icc +444 -0
  262. data/ext/gecode-2.2.0/gecode/int/element/view.icc +584 -0
  263. data/ext/gecode-2.2.0/gecode/int/exception.icc +174 -0
  264. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/extensional.cc +0 -0
  265. data/ext/gecode-2.2.0/gecode/int/extensional.hh +415 -0
  266. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/extensional/base.icc +0 -0
  267. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/extensional/basic.icc +0 -0
  268. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/extensional/bitset.icc +0 -0
  269. data/ext/gecode-2.2.0/gecode/int/extensional/dfa.cc +565 -0
  270. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/extensional/dfa.icc +0 -0
  271. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/extensional/incremental.icc +0 -0
  272. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/extensional/layered-graph.icc +0 -0
  273. data/ext/gecode-2.2.0/gecode/int/extensional/tuple-set.cc +285 -0
  274. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/extensional/tuple-set.icc +0 -0
  275. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/gcc.cc +0 -0
  276. data/ext/gecode-2.2.0/gecode/int/gcc.hh +329 -0
  277. data/ext/gecode-2.2.0/gecode/int/gcc/bnd.icc +660 -0
  278. data/ext/gecode-2.2.0/gecode/int/gcc/dom.icc +531 -0
  279. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/gcc/gccbndsup.icc +0 -0
  280. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/gcc/graphsup.icc +0 -0
  281. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/gcc/lbc.icc +0 -0
  282. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/gcc/occur.icc +0 -0
  283. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/gcc/ubc.icc +0 -0
  284. data/ext/gecode-2.2.0/gecode/int/gcc/val.icc +400 -0
  285. data/ext/gecode-2.2.0/gecode/int/int-set.cc +157 -0
  286. data/ext/gecode-2.2.0/gecode/int/int-set.icc +195 -0
  287. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/limits.icc +0 -0
  288. data/ext/gecode-2.2.0/gecode/int/linear-bool.cc +235 -0
  289. data/ext/gecode-2.2.0/gecode/int/linear-int.cc +272 -0
  290. data/ext/gecode-2.2.0/gecode/int/linear.hh +1849 -0
  291. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/linear/bool-int.icc +0 -0
  292. data/ext/gecode-2.2.0/gecode/int/linear/bool-post.cc +433 -0
  293. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/linear/bool-scale.icc +0 -0
  294. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/linear/bool-view.icc +0 -0
  295. data/ext/gecode-2.2.0/gecode/int/linear/int-bin.icc +605 -0
  296. data/ext/gecode-2.2.0/gecode/int/linear/int-dom.icc +539 -0
  297. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/linear/int-nary.icc +0 -0
  298. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/linear/int-noview.icc +0 -0
  299. data/ext/gecode-2.2.0/gecode/int/linear/int-post.cc +493 -0
  300. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/linear/int-ter.icc +0 -0
  301. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/linear/post.icc +0 -0
  302. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/propagator.icc +0 -0
  303. data/ext/gecode-2.2.0/gecode/int/rel.cc +420 -0
  304. data/ext/gecode-2.2.0/gecode/int/rel.hh +627 -0
  305. data/ext/gecode-2.2.0/gecode/int/rel/eq.icc +885 -0
  306. data/ext/gecode-2.2.0/gecode/int/rel/lex.icc +275 -0
  307. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/rel/lq-le.icc +0 -0
  308. data/ext/gecode-2.2.0/gecode/int/rel/nq.icc +118 -0
  309. data/ext/gecode-2.2.0/gecode/int/sorted.cc +81 -0
  310. data/ext/gecode-2.2.0/gecode/int/sorted.hh +118 -0
  311. data/ext/gecode-2.2.0/gecode/int/sorted/matching.icc +173 -0
  312. data/ext/gecode-2.2.0/gecode/int/sorted/narrowing.icc +249 -0
  313. data/ext/gecode-2.2.0/gecode/int/sorted/order.icc +212 -0
  314. data/ext/gecode-2.2.0/gecode/int/sorted/propagate.icc +702 -0
  315. data/ext/gecode-2.2.0/gecode/int/sorted/sortsup.icc +563 -0
  316. data/ext/gecode-2.2.0/gecode/int/support-values.hh +158 -0
  317. data/ext/gecode-2.2.0/gecode/int/support-values.icc +203 -0
  318. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/unshare.cc +0 -0
  319. data/ext/gecode-2.2.0/gecode/int/var-imp.icc +745 -0
  320. data/ext/gecode-2.2.0/gecode/int/var-imp/bool.cc +105 -0
  321. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/var-imp/bool.icc +0 -0
  322. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/var-imp/bool.vis +0 -0
  323. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/var-imp/delta.icc +0 -0
  324. data/ext/gecode-2.2.0/gecode/int/var-imp/int.cc +408 -0
  325. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/var-imp/int.icc +0 -0
  326. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/var-imp/int.vis +0 -0
  327. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/var/bool.cc +0 -0
  328. data/ext/gecode-2.2.0/gecode/int/var/bool.icc +128 -0
  329. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/var/int.cc +0 -0
  330. data/ext/gecode-2.2.0/gecode/int/var/int.icc +153 -0
  331. data/ext/gecode-2.2.0/gecode/int/view.icc +1918 -0
  332. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/view/bool.icc +0 -0
  333. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/view/constint.icc +0 -0
  334. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/view/int.icc +0 -0
  335. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/view/iter.icc +0 -0
  336. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/view/minus.icc +0 -0
  337. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/view/offset.icc +0 -0
  338. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/view/print.cc +0 -0
  339. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/view/rtest.icc +0 -0
  340. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/view/scale.icc +0 -0
  341. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/int/view/zero.icc +0 -0
  342. data/ext/gecode-2.2.0/gecode/iter.hh +98 -0
  343. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-add.icc +0 -0
  344. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-append.icc +0 -0
  345. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-array.icc +0 -0
  346. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-cache.icc +0 -0
  347. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-compl.icc +0 -0
  348. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-diff.icc +0 -0
  349. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-empty.icc +0 -0
  350. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-inter.icc +0 -0
  351. data/ext/gecode-2.2.0/gecode/iter/ranges-map.icc +260 -0
  352. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-minmax.icc +0 -0
  353. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-minus.icc +0 -0
  354. data/ext/gecode-2.2.0/gecode/iter/ranges-negative.icc +137 -0
  355. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-offset.icc +0 -0
  356. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-operations.icc +0 -0
  357. data/ext/gecode-2.2.0/gecode/iter/ranges-positive.icc +139 -0
  358. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-scale.icc +0 -0
  359. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-singleton-append.icc +0 -0
  360. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-singleton.icc +0 -0
  361. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-size.icc +0 -0
  362. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-union.icc +0 -0
  363. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/ranges-values.icc +0 -0
  364. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/values-array.icc +0 -0
  365. data/ext/gecode-2.2.0/gecode/iter/values-inter.icc +130 -0
  366. data/ext/gecode-2.2.0/gecode/iter/values-map.icc +136 -0
  367. data/ext/gecode-2.2.0/gecode/iter/values-minus.icc +130 -0
  368. data/ext/gecode-2.2.0/gecode/iter/values-negative.icc +116 -0
  369. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/values-offset.icc +0 -0
  370. data/ext/gecode-2.2.0/gecode/iter/values-positive.icc +123 -0
  371. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/values-ranges.icc +0 -0
  372. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/values-singleton.icc +0 -0
  373. data/ext/gecode-2.2.0/gecode/iter/values-union.icc +137 -0
  374. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/values-unique.icc +0 -0
  375. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/virtual-ranges-compl.icc +0 -0
  376. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/virtual-ranges-inter.icc +0 -0
  377. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/virtual-ranges-union.icc +0 -0
  378. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/iter/virtual-ranges.icc +0 -0
  379. data/ext/gecode-2.2.0/gecode/kernel.hh +188 -0
  380. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/kernel/advisor.icc +0 -0
  381. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/kernel/array.icc +0 -0
  382. data/ext/gecode-2.2.0/gecode/kernel/branching.icc +433 -0
  383. data/ext/gecode-2.2.0/gecode/kernel/core.cc +474 -0
  384. data/ext/gecode-2.2.0/gecode/kernel/core.icc +2311 -0
  385. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/kernel/exception.icc +0 -0
  386. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/kernel/macros.icc +0 -0
  387. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/kernel/memory-manager.cc +0 -0
  388. data/ext/gecode-2.2.0/gecode/kernel/memory-manager.icc +454 -0
  389. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/kernel/modevent.icc +0 -0
  390. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/kernel/propagator.icc +0 -0
  391. data/ext/gecode-2.2.0/gecode/kernel/reflection.cc +951 -0
  392. data/ext/gecode-2.2.0/gecode/kernel/reflection.icc +1213 -0
  393. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/kernel/shared-array.icc +0 -0
  394. data/ext/gecode-2.2.0/gecode/kernel/var-imp.icc +433 -0
  395. data/ext/gecode-2.2.0/gecode/kernel/var-map.cc +269 -0
  396. data/ext/gecode-2.2.0/gecode/kernel/var-map.icc +230 -0
  397. data/ext/gecode-2.2.0/gecode/kernel/var-traits.icc +79 -0
  398. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/kernel/var-type.cc +0 -0
  399. data/ext/gecode-2.2.0/gecode/kernel/var-type.icc +915 -0
  400. data/ext/gecode-2.2.0/gecode/kernel/var.icc +114 -0
  401. data/ext/gecode-2.2.0/gecode/kernel/view.icc +413 -0
  402. data/ext/gecode-2.2.0/gecode/minimodel.hh +1206 -0
  403. data/ext/gecode-2.2.0/gecode/minimodel/arithmetic.icc +118 -0
  404. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/minimodel/bool-expr.cc +0 -0
  405. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/minimodel/bool-expr.icc +0 -0
  406. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/minimodel/bool-rel.icc +0 -0
  407. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/minimodel/exception.icc +0 -0
  408. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/minimodel/lin-expr.icc +0 -0
  409. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/minimodel/lin-rel.icc +0 -0
  410. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/minimodel/matrix.icc +0 -0
  411. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/minimodel/reg.cc +0 -0
  412. data/ext/gecode-2.2.0/gecode/search.hh +759 -0
  413. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/search/bab.cc +0 -0
  414. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/search/bab.icc +0 -0
  415. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/search/dfs.cc +0 -0
  416. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/search/dfs.icc +0 -0
  417. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/search/engine-ctrl.icc +0 -0
  418. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/search/lds.cc +0 -0
  419. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/search/lds.icc +0 -0
  420. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/search/options.cc +0 -0
  421. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/search/options.icc +0 -0
  422. data/ext/gecode-2.2.0/gecode/search/reco-stack.icc +277 -0
  423. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/search/restart.icc +0 -0
  424. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/search/statistics.icc +0 -0
  425. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/search/stop.cc +0 -0
  426. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/search/stop.icc +0 -0
  427. data/ext/gecode-2.2.0/gecode/serialization.hh +149 -0
  428. data/ext/gecode-2.2.0/gecode/serialization/boost.cc +78 -0
  429. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/serialization/boost.icc +0 -0
  430. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/serialization/flatzinc.cc +0 -0
  431. data/ext/gecode-2.2.0/gecode/serialization/javascript.cc +343 -0
  432. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/serialization/javascript.hh +0 -0
  433. data/ext/gecode-2.2.0/gecode/serialization/register.cc +8498 -0
  434. data/ext/gecode-2.2.0/gecode/set.hh +970 -0
  435. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/array.cc +0 -0
  436. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/array.icc +0 -0
  437. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/branch.cc +0 -0
  438. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/branch.hh +0 -0
  439. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/branch/select-val.icc +0 -0
  440. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/branch/select-view.icc +0 -0
  441. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/cardinality.cc +0 -0
  442. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/convex.cc +0 -0
  443. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/convex.hh +0 -0
  444. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/convex/conv.cc +0 -0
  445. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/convex/conv.icc +0 -0
  446. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/convex/hull.cc +0 -0
  447. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/convex/hull.icc +0 -0
  448. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/distinct.cc +0 -0
  449. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/distinct.hh +0 -0
  450. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/distinct/atmostOne.cc +0 -0
  451. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/distinct/atmostOne.icc +0 -0
  452. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/dom.cc +0 -0
  453. data/ext/gecode-2.2.0/gecode/set/element.cc +135 -0
  454. data/ext/gecode-2.2.0/gecode/set/element.hh +233 -0
  455. data/ext/gecode-2.2.0/gecode/set/element/disjoint.cc +308 -0
  456. data/ext/gecode-2.2.0/gecode/set/element/disjoint.icc +75 -0
  457. data/ext/gecode-2.2.0/gecode/set/element/idxarray.hh +113 -0
  458. data/ext/gecode-2.2.0/gecode/set/element/idxarray.icc +155 -0
  459. data/ext/gecode-2.2.0/gecode/set/element/inter.icc +348 -0
  460. data/ext/gecode-2.2.0/gecode/set/element/union.icc +371 -0
  461. data/ext/gecode-2.2.0/gecode/set/element/unionConst.icc +334 -0
  462. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/exception.icc +0 -0
  463. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/int.cc +0 -0
  464. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/int.hh +0 -0
  465. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/int/card.icc +0 -0
  466. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/int/channel-bool.icc +0 -0
  467. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/int/channel-int.icc +0 -0
  468. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/int/match.icc +0 -0
  469. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/int/minmax.icc +0 -0
  470. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/int/weights.icc +0 -0
  471. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/limits.icc +0 -0
  472. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors-compiler.hh +0 -0
  473. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors.cc +0 -0
  474. data/ext/gecode-2.2.0/gecode/set/projectors.hh +438 -0
  475. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors/compiler.cc +0 -0
  476. data/ext/gecode-2.2.0/gecode/set/projectors/formula.cc +312 -0
  477. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors/formula.icc +0 -0
  478. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors/projector-set.cc +0 -0
  479. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors/projector-set.icc +0 -0
  480. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors/projector.cc +0 -0
  481. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors/projector.icc +0 -0
  482. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors/propagator.hh +0 -0
  483. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors/propagator/card.icc +0 -0
  484. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors/propagator/nary.icc +0 -0
  485. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors/propagator/re-nary.cc +0 -0
  486. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors/propagator/re-nary.icc +0 -0
  487. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors/set-expr.cc +0 -0
  488. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/projectors/set-expr.icc +0 -0
  489. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/propagator.icc +0 -0
  490. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel-op-const.cc +0 -0
  491. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel-op.cc +0 -0
  492. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel-op.hh +0 -0
  493. data/ext/gecode-2.2.0/gecode/set/rel-op/common.icc +613 -0
  494. data/ext/gecode-2.2.0/gecode/set/rel-op/inter.icc +452 -0
  495. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel-op/partition.icc +0 -0
  496. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel-op/post.icc +0 -0
  497. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel-op/subofunion.icc +0 -0
  498. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel-op/superofinter.icc +0 -0
  499. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel-op/union.icc +0 -0
  500. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel.cc +0 -0
  501. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel.hh +0 -0
  502. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel/common.icc +0 -0
  503. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel/eq.icc +0 -0
  504. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel/nosubset.icc +0 -0
  505. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel/nq.icc +0 -0
  506. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel/re-eq.icc +0 -0
  507. data/ext/gecode-2.2.0/gecode/set/rel/re-subset.icc +174 -0
  508. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/rel/subset.icc +0 -0
  509. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/sequence.cc +0 -0
  510. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/sequence.hh +0 -0
  511. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/sequence/common.icc +0 -0
  512. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/sequence/seq-u.cc +0 -0
  513. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/sequence/seq-u.icc +0 -0
  514. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/sequence/seq.cc +0 -0
  515. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/sequence/seq.icc +0 -0
  516. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/var-imp.icc +0 -0
  517. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/var-imp/delta.icc +0 -0
  518. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/var-imp/integerset.cc +0 -0
  519. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/var-imp/integerset.icc +0 -0
  520. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/var-imp/iter.icc +0 -0
  521. data/ext/gecode-2.2.0/gecode/set/var-imp/set.cc +215 -0
  522. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/var-imp/set.icc +0 -0
  523. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/var-imp/set.vis +0 -0
  524. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/var/set.cc +0 -0
  525. data/ext/gecode-2.2.0/gecode/set/var/set.icc +303 -0
  526. data/ext/gecode-2.2.0/gecode/set/view.icc +1451 -0
  527. data/ext/gecode-2.2.0/gecode/set/view/complement.icc +614 -0
  528. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/view/const.icc +0 -0
  529. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/view/offset.icc +0 -0
  530. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/view/print.cc +0 -0
  531. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/view/set.icc +0 -0
  532. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/set/view/singleton.icc +0 -0
  533. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support.hh +0 -0
  534. data/ext/gecode-2.2.0/gecode/support/block-allocator.icc +159 -0
  535. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/AUTHORS +0 -0
  536. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/ChangeLog +0 -0
  537. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/NEWS +0 -0
  538. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/README +0 -0
  539. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/bdd.h +0 -0
  540. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/bddio.c +0 -0
  541. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/bddop.c +0 -0
  542. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/bddtree.h +0 -0
  543. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/bvec.c +0 -0
  544. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/bvec.h +0 -0
  545. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/cache.c +0 -0
  546. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/cache.h +0 -0
  547. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/config.h +0 -0
  548. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/cppext.cc +0 -0
  549. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/fdd.c +0 -0
  550. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/fdd.h +0 -0
  551. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/imatrix.c +0 -0
  552. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/imatrix.h +0 -0
  553. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/kernel.c +0 -0
  554. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/kernel.h +0 -0
  555. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/pairs.c +0 -0
  556. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/prime.c +0 -0
  557. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/prime.h +0 -0
  558. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/reorder.c +0 -0
  559. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/buddy/tree.c +0 -0
  560. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/cast.icc +0 -0
  561. data/ext/gecode-2.2.0/gecode/support/config.icc.in +83 -0
  562. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/dynamic-array.icc +0 -0
  563. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/dynamic-stack.icc +0 -0
  564. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/exception.cc +0 -0
  565. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/exception.icc +0 -0
  566. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/macros.icc +0 -0
  567. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/map.icc +0 -0
  568. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/marked-pointer.icc +0 -0
  569. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/memory.icc +0 -0
  570. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/random.icc +0 -0
  571. data/ext/gecode-2.2.0/gecode/support/sentinel-stack.icc +138 -0
  572. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/sort.icc +0 -0
  573. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/static-pqueue.icc +0 -0
  574. data/ext/{gecode-2.1.1 → gecode-2.2.0}/gecode/support/static-stack.icc +0 -0
  575. data/ext/gecode-2.2.0/gecode/support/symbol.cc +241 -0
  576. data/ext/gecode-2.2.0/gecode/support/symbol.icc +134 -0
  577. data/ext/{gecode-2.1.1 → gecode-2.2.0}/install-sh +0 -0
  578. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/AppleHelpbookInfo.plist +0 -0
  579. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/allexamples.perl +0 -0
  580. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/debian/Makefile.am +0 -0
  581. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/debian/changelog +0 -0
  582. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/debian/control +0 -0
  583. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/debian/copyright +0 -0
  584. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/debian/gecode.info +0 -0
  585. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/debian/gecode.install +0 -0
  586. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/debian/gecode.spec +0 -0
  587. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/debian/rules +0 -0
  588. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/doxygen/back.png +0 -0
  589. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/doxygen/footer.html +0 -0
  590. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/doxygen/gecode-logo-100.png +0 -0
  591. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/doxygen/header.html +0 -0
  592. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/doxygen/stylesheet.css +0 -0
  593. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/fixproperties.sh +0 -0
  594. data/ext/gecode-2.2.0/misc/gecode-gist.pc.in +45 -0
  595. data/ext/gecode-2.2.0/misc/gecode-minimodel.pc.in +45 -0
  596. data/ext/gecode-2.2.0/misc/gecode-search.pc.in +45 -0
  597. data/ext/gecode-2.2.0/misc/gecode-serialization.pc.in +45 -0
  598. data/ext/gecode-2.2.0/misc/gecode.pc.in +45 -0
  599. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/genchangelog.perl +0 -0
  600. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/genlcovmakefile.perl +0 -0
  601. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/genlicense.perl +0 -0
  602. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/genregistry.perl +0 -0
  603. data/ext/gecode-2.2.0/misc/genstatistics.perl +179 -0
  604. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/gentxtchangelog.perl +0 -0
  605. data/ext/gecode-2.2.0/misc/genvariables.perl +905 -0
  606. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/getrevision.perl +0 -0
  607. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/makedepend.perl +0 -0
  608. data/ext/{gecode-2.1.1 → gecode-2.2.0}/misc/svn-ignore.txt +0 -0
  609. data/ext/gecode-2.2.0/test/assign.cc +181 -0
  610. data/ext/gecode-2.2.0/test/assign.hh +93 -0
  611. data/ext/gecode-2.2.0/test/assign/bool.cc +61 -0
  612. data/ext/gecode-2.2.0/test/assign/int.cc +70 -0
  613. data/ext/gecode-2.2.0/test/branch.cc +563 -0
  614. data/ext/gecode-2.2.0/test/branch.hh +144 -0
  615. data/ext/gecode-2.2.0/test/branch/bool.cc +61 -0
  616. data/ext/gecode-2.2.0/test/branch/cpltset.cc +71 -0
  617. data/ext/gecode-2.2.0/test/branch/int.cc +70 -0
  618. data/ext/gecode-2.2.0/test/branch/set.cc +74 -0
  619. data/ext/gecode-2.2.0/test/cpltset.cc +568 -0
  620. data/ext/gecode-2.2.0/test/cpltset.hh +125 -0
  621. data/ext/gecode-2.2.0/test/cpltset/atmost.cc +155 -0
  622. data/ext/gecode-2.2.0/test/cpltset/cardinality.cc +138 -0
  623. data/ext/gecode-2.2.0/test/cpltset/dom.cc +137 -0
  624. data/ext/gecode-2.2.0/test/cpltset/partition.cc +210 -0
  625. data/ext/gecode-2.2.0/test/cpltset/rel.cc +158 -0
  626. data/ext/gecode-2.2.0/test/cpltset/select.cc +216 -0
  627. data/ext/gecode-2.2.0/test/int.cc +688 -0
  628. data/ext/gecode-2.2.0/test/int.hh +267 -0
  629. data/ext/gecode-2.2.0/test/int.icc +266 -0
  630. data/ext/gecode-2.2.0/test/int/arithmetic.cc +766 -0
  631. data/ext/gecode-2.2.0/test/int/basic.cc +77 -0
  632. data/ext/gecode-2.2.0/test/int/bool.cc +340 -0
  633. data/ext/gecode-2.2.0/test/int/channel.cc +238 -0
  634. data/ext/gecode-2.2.0/test/int/circuit.cc +100 -0
  635. data/ext/gecode-2.2.0/test/int/count.cc +357 -0
  636. data/ext/gecode-2.2.0/test/int/distinct.cc +248 -0
  637. data/ext/gecode-2.2.0/test/int/dom.cc +123 -0
  638. data/ext/gecode-2.2.0/test/int/element.cc +333 -0
  639. data/ext/gecode-2.2.0/test/int/extensional.cc +475 -0
  640. data/ext/gecode-2.2.0/test/int/gcc.cc +293 -0
  641. data/ext/gecode-2.2.0/test/int/linear.cc +383 -0
  642. data/ext/gecode-2.2.0/test/int/mm-arithmetic.cc +302 -0
  643. data/ext/gecode-2.2.0/test/int/mm-bool.cc +4342 -0
  644. data/ext/gecode-2.2.0/test/int/mm-count.cc +295 -0
  645. data/ext/gecode-2.2.0/test/int/mm-lin.cc +2035 -0
  646. data/ext/gecode-2.2.0/test/int/mm-rel.cc +136 -0
  647. data/ext/gecode-2.2.0/test/int/rel.cc +416 -0
  648. data/ext/gecode-2.2.0/test/int/scheduling.cc +276 -0
  649. data/ext/gecode-2.2.0/test/int/sorted.cc +165 -0
  650. data/ext/gecode-2.2.0/test/int/unshare.cc +109 -0
  651. data/ext/gecode-2.2.0/test/search.cc +618 -0
  652. data/ext/gecode-2.2.0/test/set.cc +753 -0
  653. data/ext/gecode-2.2.0/test/set.hh +286 -0
  654. data/ext/gecode-2.2.0/test/set.icc +108 -0
  655. data/ext/gecode-2.2.0/test/set/convex.cc +139 -0
  656. data/ext/gecode-2.2.0/test/set/distinct.cc +116 -0
  657. data/ext/gecode-2.2.0/test/set/dom.cc +292 -0
  658. data/ext/gecode-2.2.0/test/set/int.cc +473 -0
  659. data/ext/gecode-2.2.0/test/set/projection.cc +436 -0
  660. data/ext/gecode-2.2.0/test/set/rel-op-const.cc +368 -0
  661. data/ext/gecode-2.2.0/test/set/rel-op.cc +465 -0
  662. data/ext/gecode-2.2.0/test/set/rel.cc +125 -0
  663. data/ext/gecode-2.2.0/test/set/select.cc +299 -0
  664. data/ext/gecode-2.2.0/test/set/sequence.cc +125 -0
  665. data/ext/gecode-2.2.0/test/test.cc +287 -0
  666. data/ext/gecode-2.2.0/test/test.hh +175 -0
  667. data/ext/gecode-2.2.0/test/test.icc +93 -0
  668. data/ext/{gecode-2.1.1 → gecode-2.2.0}/variables.vsl +0 -0
  669. data/lib/gecoder/bindings.rb +7 -5
  670. data/lib/gecoder/bindings/bindings.rb +8 -8
  671. data/lib/gecoder/interface.rb +4 -2
  672. data/lib/gecoder/interface/binding_changes.rb +1 -1
  673. data/lib/gecoder/interface/branch.rb +1 -1
  674. data/lib/gecoder/interface/constraints/bool_enum_constraints.rb +4 -4
  675. data/lib/gecoder/interface/constraints/bool_var_constraints.rb +2 -2
  676. data/lib/gecoder/interface/constraints/extensional_regexp.rb +1 -1
  677. data/lib/gecoder/interface/constraints/fixnum_enum_constraints.rb +2 -2
  678. data/lib/gecoder/interface/constraints/int_enum/extensional.rb +5 -5
  679. data/lib/gecoder/interface/constraints/int_enum_constraints.rb +4 -4
  680. data/lib/gecoder/interface/constraints/int_var_constraints.rb +2 -2
  681. data/lib/gecoder/interface/constraints/selected_set/select.rb +8 -8
  682. data/lib/gecoder/interface/constraints/set_enum/element.rb +79 -0
  683. data/lib/gecoder/interface/constraints/set_enum_constraints.rb +5 -5
  684. data/lib/gecoder/interface/constraints/set_var_constraints.rb +2 -2
  685. data/lib/gecoder/interface/convenience.rb +99 -0
  686. data/lib/gecoder/interface/enum_wrapper.rb +1 -1
  687. data/lib/gecoder/interface/mixin.rb +486 -0
  688. data/lib/gecoder/interface/search.rb +23 -22
  689. data/lib/gecoder/version.rb +1 -1
  690. data/specs/branch.rb +5 -3
  691. data/specs/constraints/bool/boolean.rb +3 -1
  692. data/specs/constraints/bool/linear.rb +3 -1
  693. data/specs/constraints/bool_enum/bool_enum_relation.rb +3 -1
  694. data/specs/constraints/bool_enum/channel.rb +3 -1
  695. data/specs/constraints/fixnum_enum/element.rb +3 -1
  696. data/specs/constraints/int/arithmetic.rb +3 -1
  697. data/specs/constraints/int/channel.rb +3 -1
  698. data/specs/constraints/int/linear.rb +3 -1
  699. data/specs/constraints/int/linear_properties.rb +3 -1
  700. data/specs/constraints/int_enum/arithmetic.rb +3 -1
  701. data/specs/constraints/int_enum/channel.rb +3 -1
  702. data/specs/constraints/int_enum/count.rb +3 -1
  703. data/specs/constraints/int_enum/distinct.rb +3 -1
  704. data/specs/constraints/int_enum/element.rb +3 -1
  705. data/specs/constraints/int_enum/sort.rb +3 -1
  706. data/specs/constraints/property_helper.rb +10 -10
  707. data/specs/constraints/reification_sugar.rb +3 -1
  708. data/specs/constraints/selected_set/select.rb +6 -5
  709. data/specs/constraints/selected_set/select_properties.rb +12 -10
  710. data/specs/constraints/set/channel.rb +3 -1
  711. data/specs/constraints/set/domain.rb +4 -4
  712. data/specs/constraints/set/relation.rb +4 -4
  713. data/specs/constraints/set_enum/channel.rb +3 -1
  714. data/specs/constraints/set_enum/distinct.rb +3 -1
  715. data/specs/constraints/set_enum/element.rb +77 -0
  716. data/specs/enum_wrapper.rb +1 -1
  717. data/specs/mixin.rb +78 -0
  718. data/specs/model.rb +5 -5
  719. data/specs/search.rb +20 -14
  720. data/specs/selected_set.rb +3 -3
  721. data/specs/set_elements.rb +2 -2
  722. data/tasks/distribution.rake +25 -4
  723. metadata +739 -602
  724. data/example/money.rb +0 -36
  725. data/ext/gecode-2.1.1/Makefile.dep +0 -7622
  726. data/ext/gecode-2.1.1/Makefile.in +0 -1568
  727. data/ext/gecode-2.1.1/changelog.in +0 -2459
  728. data/ext/gecode-2.1.1/configure +0 -11631
  729. data/ext/gecode-2.1.1/configure.ac +0 -249
  730. data/ext/gecode-2.1.1/configure.ac.in +0 -245
  731. data/ext/gecode-2.1.1/contribs/qecode/Doxyfile +0 -263
  732. data/ext/gecode-2.1.1/contribs/qecode/FirstFailValueHeuristic.cc +0 -82
  733. data/ext/gecode-2.1.1/contribs/qecode/FirstFailValueHeuristic.hh +0 -37
  734. data/ext/gecode-2.1.1/contribs/qecode/Makefile.in.in +0 -162
  735. data/ext/gecode-2.1.1/contribs/qecode/NaiveValueHeuristics.cc +0 -172
  736. data/ext/gecode-2.1.1/contribs/qecode/NaiveValueHeuristics.hh +0 -63
  737. data/ext/gecode-2.1.1/contribs/qecode/SDFVariableHeuristic.cc +0 -37
  738. data/ext/gecode-2.1.1/contribs/qecode/SDFVariableHeuristic.hh +0 -35
  739. data/ext/gecode-2.1.1/contribs/qecode/configure +0 -2264
  740. data/ext/gecode-2.1.1/contribs/qecode/configure.ac +0 -23
  741. data/ext/gecode-2.1.1/contribs/qecode/examples/COMPILING +0 -13
  742. data/ext/gecode-2.1.1/contribs/qecode/examples/MatrixGame.cpp +0 -144
  743. data/ext/gecode-2.1.1/contribs/qecode/examples/NimFibo.cpp +0 -73
  744. data/ext/gecode-2.1.1/contribs/qecode/examples/stress_test.cpp +0 -179
  745. data/ext/gecode-2.1.1/contribs/qecode/extensivecomparator.cc +0 -34
  746. data/ext/gecode-2.1.1/contribs/qecode/extensivecomparator.hh +0 -46
  747. data/ext/gecode-2.1.1/contribs/qecode/implicative.cc +0 -595
  748. data/ext/gecode-2.1.1/contribs/qecode/implicative.hh +0 -184
  749. data/ext/gecode-2.1.1/contribs/qecode/myspace.hh +0 -69
  750. data/ext/gecode-2.1.1/contribs/qecode/qecore.cc +0 -145
  751. data/ext/gecode-2.1.1/contribs/qecode/qecore.hh +0 -247
  752. data/ext/gecode-2.1.1/contribs/qecode/qsolver.cc +0 -168
  753. data/ext/gecode-2.1.1/contribs/qecode/qsolver.hh +0 -73
  754. data/ext/gecode-2.1.1/contribs/qecode/valueHeuristic.hh +0 -91
  755. data/ext/gecode-2.1.1/contribs/qecode/warner.cc +0 -101
  756. data/ext/gecode-2.1.1/contribs/qecode/warner.hh +0 -83
  757. data/ext/gecode-2.1.1/doxygen/doxygen.hh.in +0 -1111
  758. data/ext/gecode-2.1.1/doxygen/reflection.hh +0 -417
  759. data/ext/gecode-2.1.1/gecode.m4 +0 -956
  760. data/ext/gecode-2.1.1/gecode/cpltset.hh +0 -797
  761. data/ext/gecode-2.1.1/gecode/gist/analysiscursor.cc +0 -115
  762. data/ext/gecode-2.1.1/gecode/gist/analysiscursor.hh +0 -77
  763. data/ext/gecode-2.1.1/gecode/gist/drawingcursor.cc +0 -245
  764. data/ext/gecode-2.1.1/gecode/gist/drawingcursor.hh +0 -101
  765. data/ext/gecode-2.1.1/gecode/gist/gecodelogo.icc +0 -522
  766. data/ext/gecode-2.1.1/gecode/gist/mainwindow.cc +0 -254
  767. data/ext/gecode-2.1.1/gecode/gist/mainwindow.hh +0 -86
  768. data/ext/gecode-2.1.1/gecode/gist/node.cc +0 -100
  769. data/ext/gecode-2.1.1/gecode/gist/node.hh +0 -89
  770. data/ext/gecode-2.1.1/gecode/gist/nodecursor.cc +0 -124
  771. data/ext/gecode-2.1.1/gecode/gist/nodecursor.hh +0 -122
  772. data/ext/gecode-2.1.1/gecode/gist/nodecursor.icc +0 -79
  773. data/ext/gecode-2.1.1/gecode/gist/postscript.cc +0 -543
  774. data/ext/gecode-2.1.1/gecode/gist/postscript.hh +0 -56
  775. data/ext/gecode-2.1.1/gecode/gist/preferences.cc +0 -110
  776. data/ext/gecode-2.1.1/gecode/gist/preferences.hh +0 -76
  777. data/ext/gecode-2.1.1/gecode/gist/reflectionhelpers.cc +0 -55
  778. data/ext/gecode-2.1.1/gecode/gist/reflectionhelpers.hh +0 -58
  779. data/ext/gecode-2.1.1/gecode/gist/shapelist.cc +0 -331
  780. data/ext/gecode-2.1.1/gecode/gist/shapelist.hh +0 -140
  781. data/ext/gecode-2.1.1/gecode/gist/spacenode.cc +0 -531
  782. data/ext/gecode-2.1.1/gecode/gist/spacenode.hh +0 -224
  783. data/ext/gecode-2.1.1/gecode/gist/textoutput.cc +0 -114
  784. data/ext/gecode-2.1.1/gecode/gist/treecanvas.cc +0 -1140
  785. data/ext/gecode-2.1.1/gecode/gist/treecanvas.hh +0 -324
  786. data/ext/gecode-2.1.1/gecode/gist/ui_addvisualisationdialog.hh +0 -163
  787. data/ext/gecode-2.1.1/gecode/gist/visualisation/intvaritem.cc +0 -175
  788. data/ext/gecode-2.1.1/gecode/gist/visualisation/intvaritem.hh +0 -71
  789. data/ext/gecode-2.1.1/gecode/gist/visualisation/setvaritem.cc +0 -219
  790. data/ext/gecode-2.1.1/gecode/gist/visualisation/setvaritem.hh +0 -73
  791. data/ext/gecode-2.1.1/gecode/gist/visualisation/vararrayitem.hh +0 -123
  792. data/ext/gecode-2.1.1/gecode/gist/visualnode.cc +0 -303
  793. data/ext/gecode-2.1.1/gecode/gist/visualnode.hh +0 -166
  794. data/ext/gecode-2.1.1/gecode/int.hh +0 -2035
  795. data/ext/gecode-2.1.1/gecode/int/arithmetic.cc +0 -136
  796. data/ext/gecode-2.1.1/gecode/int/arithmetic.hh +0 -440
  797. data/ext/gecode-2.1.1/gecode/int/arithmetic/abs.icc +0 -279
  798. data/ext/gecode-2.1.1/gecode/int/arithmetic/max.icc +0 -253
  799. data/ext/gecode-2.1.1/gecode/int/arithmetic/mult.icc +0 -522
  800. data/ext/gecode-2.1.1/gecode/int/arithmetic/sqr.icc +0 -218
  801. data/ext/gecode-2.1.1/gecode/int/arithmetic/sqrt.icc +0 -138
  802. data/ext/gecode-2.1.1/gecode/int/bool.cc +0 -642
  803. data/ext/gecode-2.1.1/gecode/int/bool/or.icc +0 -1000
  804. data/ext/gecode-2.1.1/gecode/int/branch.cc +0 -301
  805. data/ext/gecode-2.1.1/gecode/int/branch.hh +0 -576
  806. data/ext/gecode-2.1.1/gecode/int/branch/select-val.icc +0 -338
  807. data/ext/gecode-2.1.1/gecode/int/channel.cc +0 -114
  808. data/ext/gecode-2.1.1/gecode/int/channel.hh +0 -259
  809. data/ext/gecode-2.1.1/gecode/int/channel/dom.icc +0 -347
  810. data/ext/gecode-2.1.1/gecode/int/channel/val.icc +0 -276
  811. data/ext/gecode-2.1.1/gecode/int/circuit.hh +0 -175
  812. data/ext/gecode-2.1.1/gecode/int/circuit/base.icc +0 -271
  813. data/ext/gecode-2.1.1/gecode/int/circuit/val.icc +0 -122
  814. data/ext/gecode-2.1.1/gecode/int/count.hh +0 -487
  815. data/ext/gecode-2.1.1/gecode/int/count/int.icc +0 -619
  816. data/ext/gecode-2.1.1/gecode/int/count/rel.icc +0 -144
  817. data/ext/gecode-2.1.1/gecode/int/count/view.icc +0 -449
  818. data/ext/gecode-2.1.1/gecode/int/cumulatives.hh +0 -141
  819. data/ext/gecode-2.1.1/gecode/int/cumulatives/val.icc +0 -429
  820. data/ext/gecode-2.1.1/gecode/int/distinct.hh +0 -341
  821. data/ext/gecode-2.1.1/gecode/int/distinct/dom.icc +0 -750
  822. data/ext/gecode-2.1.1/gecode/int/distinct/ter-dom.icc +0 -136
  823. data/ext/gecode-2.1.1/gecode/int/element.hh +0 -239
  824. data/ext/gecode-2.1.1/gecode/int/element/int.icc +0 -441
  825. data/ext/gecode-2.1.1/gecode/int/element/view.icc +0 -584
  826. data/ext/gecode-2.1.1/gecode/int/exception.icc +0 -163
  827. data/ext/gecode-2.1.1/gecode/int/extensional.hh +0 -415
  828. data/ext/gecode-2.1.1/gecode/int/extensional/dfa.cc +0 -565
  829. data/ext/gecode-2.1.1/gecode/int/extensional/tuple-set.cc +0 -311
  830. data/ext/gecode-2.1.1/gecode/int/gcc.hh +0 -329
  831. data/ext/gecode-2.1.1/gecode/int/gcc/bnd.icc +0 -660
  832. data/ext/gecode-2.1.1/gecode/int/gcc/dom.icc +0 -531
  833. data/ext/gecode-2.1.1/gecode/int/gcc/val.icc +0 -400
  834. data/ext/gecode-2.1.1/gecode/int/int-set.cc +0 -153
  835. data/ext/gecode-2.1.1/gecode/int/int-set.icc +0 -191
  836. data/ext/gecode-2.1.1/gecode/int/linear-bool.cc +0 -220
  837. data/ext/gecode-2.1.1/gecode/int/linear-int.cc +0 -240
  838. data/ext/gecode-2.1.1/gecode/int/linear.hh +0 -1849
  839. data/ext/gecode-2.1.1/gecode/int/linear/bool-post.cc +0 -433
  840. data/ext/gecode-2.1.1/gecode/int/linear/int-bin.icc +0 -605
  841. data/ext/gecode-2.1.1/gecode/int/linear/int-dom.icc +0 -539
  842. data/ext/gecode-2.1.1/gecode/int/linear/int-post.cc +0 -493
  843. data/ext/gecode-2.1.1/gecode/int/rel.cc +0 -431
  844. data/ext/gecode-2.1.1/gecode/int/rel.hh +0 -657
  845. data/ext/gecode-2.1.1/gecode/int/rel/eq.icc +0 -848
  846. data/ext/gecode-2.1.1/gecode/int/rel/lex.icc +0 -248
  847. data/ext/gecode-2.1.1/gecode/int/rel/nq.icc +0 -269
  848. data/ext/gecode-2.1.1/gecode/int/sorted.cc +0 -91
  849. data/ext/gecode-2.1.1/gecode/int/sorted.hh +0 -117
  850. data/ext/gecode-2.1.1/gecode/int/sorted/matching.icc +0 -182
  851. data/ext/gecode-2.1.1/gecode/int/sorted/narrowing.icc +0 -257
  852. data/ext/gecode-2.1.1/gecode/int/sorted/order.icc +0 -208
  853. data/ext/gecode-2.1.1/gecode/int/sorted/propagate.icc +0 -669
  854. data/ext/gecode-2.1.1/gecode/int/sorted/sortsup.icc +0 -596
  855. data/ext/gecode-2.1.1/gecode/int/var-imp.icc +0 -745
  856. data/ext/gecode-2.1.1/gecode/int/var-imp/bool.cc +0 -104
  857. data/ext/gecode-2.1.1/gecode/int/var-imp/int.cc +0 -407
  858. data/ext/gecode-2.1.1/gecode/int/var/bool.icc +0 -126
  859. data/ext/gecode-2.1.1/gecode/int/var/int.icc +0 -151
  860. data/ext/gecode-2.1.1/gecode/int/view.icc +0 -1894
  861. data/ext/gecode-2.1.1/gecode/iter.hh +0 -90
  862. data/ext/gecode-2.1.1/gecode/iter/values-minus.icc +0 -130
  863. data/ext/gecode-2.1.1/gecode/kernel.hh +0 -182
  864. data/ext/gecode-2.1.1/gecode/kernel/branching.icc +0 -447
  865. data/ext/gecode-2.1.1/gecode/kernel/core.cc +0 -473
  866. data/ext/gecode-2.1.1/gecode/kernel/core.icc +0 -2295
  867. data/ext/gecode-2.1.1/gecode/kernel/memory-manager.icc +0 -458
  868. data/ext/gecode-2.1.1/gecode/kernel/reflection.cc +0 -921
  869. data/ext/gecode-2.1.1/gecode/kernel/reflection.icc +0 -1012
  870. data/ext/gecode-2.1.1/gecode/kernel/var-imp.icc +0 -433
  871. data/ext/gecode-2.1.1/gecode/kernel/var-map.cc +0 -269
  872. data/ext/gecode-2.1.1/gecode/kernel/var-map.icc +0 -227
  873. data/ext/gecode-2.1.1/gecode/kernel/var-traits.icc +0 -72
  874. data/ext/gecode-2.1.1/gecode/kernel/var-type.icc +0 -915
  875. data/ext/gecode-2.1.1/gecode/kernel/var.icc +0 -120
  876. data/ext/gecode-2.1.1/gecode/kernel/view.icc +0 -611
  877. data/ext/gecode-2.1.1/gecode/minimodel.hh +0 -1165
  878. data/ext/gecode-2.1.1/gecode/minimodel/arithmetic.cc +0 -179
  879. data/ext/gecode-2.1.1/gecode/search.hh +0 -752
  880. data/ext/gecode-2.1.1/gecode/search/reco-stack.icc +0 -237
  881. data/ext/gecode-2.1.1/gecode/serialization.hh +0 -149
  882. data/ext/gecode-2.1.1/gecode/serialization/boost.cc +0 -78
  883. data/ext/gecode-2.1.1/gecode/serialization/javascript.cc +0 -340
  884. data/ext/gecode-2.1.1/gecode/serialization/register.cc +0 -8142
  885. data/ext/gecode-2.1.1/gecode/set.hh +0 -970
  886. data/ext/gecode-2.1.1/gecode/set/projectors.hh +0 -438
  887. data/ext/gecode-2.1.1/gecode/set/projectors/formula.cc +0 -312
  888. data/ext/gecode-2.1.1/gecode/set/rel-op/common.icc +0 -557
  889. data/ext/gecode-2.1.1/gecode/set/rel-op/inter.icc +0 -409
  890. data/ext/gecode-2.1.1/gecode/set/rel/re-subset.icc +0 -172
  891. data/ext/gecode-2.1.1/gecode/set/select.cc +0 -135
  892. data/ext/gecode-2.1.1/gecode/set/select.hh +0 -233
  893. data/ext/gecode-2.1.1/gecode/set/select/disjoint.cc +0 -308
  894. data/ext/gecode-2.1.1/gecode/set/select/disjoint.icc +0 -75
  895. data/ext/gecode-2.1.1/gecode/set/select/idxarray.hh +0 -113
  896. data/ext/gecode-2.1.1/gecode/set/select/idxarray.icc +0 -155
  897. data/ext/gecode-2.1.1/gecode/set/select/inter.icc +0 -349
  898. data/ext/gecode-2.1.1/gecode/set/select/union.icc +0 -371
  899. data/ext/gecode-2.1.1/gecode/set/select/unionConst.icc +0 -334
  900. data/ext/gecode-2.1.1/gecode/set/var-imp/set.cc +0 -214
  901. data/ext/gecode-2.1.1/gecode/set/var/set.icc +0 -303
  902. data/ext/gecode-2.1.1/gecode/set/view.icc +0 -1503
  903. data/ext/gecode-2.1.1/gecode/set/view/complement.icc +0 -629
  904. data/ext/gecode-2.1.1/gecode/support/block-allocator.icc +0 -158
  905. data/ext/gecode-2.1.1/gecode/support/config.icc.in +0 -80
  906. data/ext/gecode-2.1.1/gecode/support/sentinel-stack.icc +0 -122
  907. data/ext/gecode-2.1.1/gecode/support/symbol.cc +0 -226
  908. data/ext/gecode-2.1.1/gecode/support/symbol.icc +0 -130
  909. data/ext/gecode-2.1.1/misc/gecode-gist.pc.in +0 -45
  910. data/ext/gecode-2.1.1/misc/gecode-minimodel.pc.in +0 -45
  911. data/ext/gecode-2.1.1/misc/gecode-search.pc.in +0 -45
  912. data/ext/gecode-2.1.1/misc/gecode-serialization.pc.in +0 -45
  913. data/ext/gecode-2.1.1/misc/gecode.pc.in +0 -45
  914. data/ext/gecode-2.1.1/misc/genstatistics.perl +0 -178
  915. data/ext/gecode-2.1.1/misc/genvariables.perl +0 -905
  916. data/lib/gecoder/interface/constraints/set_enum/select.rb +0 -79
  917. data/lib/gecoder/interface/model.rb +0 -453
  918. data/lib/gecoder/interface/model_sugar.rb +0 -84
  919. data/specs/constraints/set_enum/select.rb +0 -73
@@ -0,0 +1,2698 @@
1
+ #
2
+ # Main authors:
3
+ # Christian Schulte <schulte@gecode.org>
4
+ #
5
+ # Copyright:
6
+ # Christian Schulte, 2005
7
+ #
8
+ # Last modified:
9
+ # $Date: 2008-08-25 11:00:31 +0200 (Mon, 25 Aug 2008) $ by $Author: schulte $
10
+ # $Revision: 7705 $
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
+ # This file contains entries for changelogs
38
+ #
39
+ # There are two kinds of entries: one marking releases and the others
40
+ # being actual entries.
41
+ #
42
+ # All the lines for describing entries must start at the beginning.
43
+ #
44
+ # A release is described as follows:
45
+ # [RELEASE]
46
+ # Version: <version string>
47
+ # Date: <when release>
48
+ # [DESCRIPTION]
49
+ # ... All the text up to the next [ENTRY] is included
50
+ # as description
51
+ #
52
+ # An entry is described as follows:
53
+ # [ENTRY]
54
+ # Module:
55
+ # kernel|search|int|set|cpltset|example|minimodel|iter|support|
56
+ # test|gist|other
57
+ # What: bug|documentation|performance|new|removed|change
58
+ # Rank: minor|major
59
+ # Bug: <optional, for number from bugzilla>
60
+ # Thanks: <optional, who reported etc>
61
+ # [DESCRIPTION]
62
+ # ... All the text up to the next [ENTRY] or [RELEASE] is included
63
+ # as description
64
+ #
65
+
66
+ [RELEASE]
67
+ Version: 2.2.0
68
+ Date: 2008-08-25
69
+ [DESCRIPTION]
70
+ This release adds many domain consistent propagators for
71
+ arithmetic constraints and fixes a number of bugs. Some of these
72
+ bugs fixed are potentially serious, in particular as they occur
73
+ very seldom. Please change to 2.2.0 as soon as possible (in
74
+ particular if you are using the 64bit Microsoft Visual C++
75
+ compiler). And, of course, the usual small fixes and changes.
76
+
77
+ [ENTRY]
78
+ Module: kernel
79
+ What: bug
80
+ Rank: major
81
+ [DESCRIPTION]
82
+ Fixed a bug in the memory alignment on Windows 64bit (very hard to reproduce).
83
+
84
+ [ENTRY]
85
+ Module: other
86
+ What: new
87
+ Rank: minor
88
+ [DESCRIPTION]
89
+ Added configure options for adding a prefix and a suffix to the names of the
90
+ compiled libraries.
91
+
92
+ [ENTRY]
93
+ Module: int
94
+ What: bug
95
+ Rank: major
96
+ [DESCRIPTION]
97
+ Fixed a bug in the domain consistent distinct propagator that would cause
98
+ a stack overflow under rare circumstances.
99
+
100
+ [ENTRY]
101
+ Module: set
102
+ What: bug
103
+ Rank: major
104
+ [DESCRIPTION]
105
+ The ternary intersection propagator was incorrect if any of the sets had a
106
+ maximum cardinality of Set::Limits::card.
107
+
108
+ [ENTRY]
109
+ Module: int
110
+ What: new
111
+ Rank: minor
112
+ Thanks: Raphael Reischuk
113
+ [DESCRIPTION]
114
+ The attempt to access the value of an unassigned integer or
115
+ Boolean variable (IntVar or BoolVar) throws an exception now.
116
+
117
+ [ENTRY]
118
+ Module: int
119
+ What: new
120
+ Rank: minor
121
+ [DESCRIPTION]
122
+ Added bounds consistent division/modulo propagator.
123
+
124
+ [ENTRY]
125
+ Module: int
126
+ What: change
127
+ Rank: minor
128
+ [DESCRIPTION]
129
+ All functional linear and arithmetic constraints now put sharp
130
+ bounds on the output variable (eases interfacing to modelling
131
+ languages).
132
+
133
+ [ENTRY]
134
+ Module: int
135
+ What: new
136
+ Rank: minor
137
+ [DESCRIPTION]
138
+ The channel constraint now comes in a version that allows to specify offsets
139
+ to the array indices.
140
+
141
+ [ENTRY]
142
+ Module: example
143
+ What: removed
144
+ Rank: minor
145
+ [DESCRIPTION]
146
+ Example-based support for SAC (singleton arc consistency) has
147
+ been removed. Might be reintroduced later in a more general
148
+ fashion.
149
+
150
+ [ENTRY]
151
+ Module: other
152
+ What: new
153
+ Rank: minor
154
+ [DESCRIPTION]
155
+ The Makefile has a new target, check, which performs a minimal integrity check
156
+ using some tests from the test suite.
157
+
158
+ [ENTRY]
159
+ Module: set
160
+ What: change
161
+ Rank: minor
162
+ [DESCRIPTION]
163
+ The set selection constraints are now called element.
164
+
165
+ [ENTRY]
166
+ Module: int
167
+ What: bug
168
+ Rank: minor
169
+ [DESCRIPTION]
170
+ Fixed bug for domain-consistent distinct that never occurred in
171
+ practice.
172
+
173
+ [ENTRY]
174
+ Module: kernel
175
+ What: bug
176
+ Rank: minor
177
+ [DESCRIPTION]
178
+ Fixed bug that could potentially have affected certain staged
179
+ propagators.
180
+
181
+ [ENTRY]
182
+ Module: kernel
183
+ What: documentation
184
+ Rank: minor
185
+ Thanks: David Rijsman
186
+ [DESCRIPTION]
187
+ Fixed explanation of ES_FIX and ES_NOFIX for advisors
188
+ (description was mixed up).
189
+
190
+ [ENTRY]
191
+ Module: other
192
+ What: change
193
+ Rank: minor
194
+ [DESCRIPTION]
195
+ The configure script now always uses the Microsoft compiler on Windows. Use
196
+ the CC and CXX environment variables to override this if you want to use
197
+ gcc.
198
+
199
+ [ENTRY]
200
+ Module: int
201
+ What: new
202
+ Rank: minor
203
+ [DESCRIPTION]
204
+ Added domain consistent multiplication propagator.
205
+
206
+ [ENTRY]
207
+ Module: kernel
208
+ What: bug
209
+ Rank: major
210
+ Thanks: Filip Konvicka
211
+ [DESCRIPTION]
212
+ Generated variable stubs were wrong (could only be observed for
213
+ new variable types).
214
+
215
+ [ENTRY]
216
+ Module: int
217
+ What: bug
218
+ Rank: minor
219
+ Thanks: David Rijsman
220
+ [DESCRIPTION]
221
+ Cumulatives did not do all the pruning it should do.
222
+
223
+ [ENTRY]
224
+ Module: search
225
+ What: new
226
+ Rank: major
227
+ [DESCRIPTION]
228
+ Decomposition during search (DDS) has been added as a new search engine. DDS
229
+ is an implementation of And/Or search. It tries to decompose the problem into
230
+ independent subproblems, potentially reducing the search space dramatically.
231
+
232
+ [ENTRY]
233
+ Module: int
234
+ What: bug
235
+ Rank: minor
236
+ [DESCRIPTION]
237
+ Fixed bug in element with IntArgs and sharing between the two IntVars.
238
+
239
+ [ENTRY]
240
+ Module: int
241
+ What: bug
242
+ Rank: minor
243
+ Thanks: Jaroslav Mlejnek
244
+ [DESCRIPTION]
245
+ Fixed bug in sqrt.
246
+
247
+ [ENTRY]
248
+ Module: int
249
+ What: bug
250
+ Rank: minor
251
+ Thanks: David Rijsman
252
+ [DESCRIPTION]
253
+ Fixed bug in ValSplitMin::branchingSpec.
254
+
255
+ [ENTRY]
256
+ Module: kernel
257
+ What: removed
258
+ Rank: minor
259
+ [DESCRIPTION]
260
+ Removed ViewTuple. Just not useful enough...
261
+
262
+ [ENTRY]
263
+ Module: kernel
264
+ What: change
265
+ Rank: minor
266
+ [DESCRIPTION]
267
+ Cleaned up Reflection::Var type, overloading did not conform to the C++
268
+ standard.
269
+
270
+ [ENTRY]
271
+ Module: int
272
+ What: new
273
+ Rank: minor
274
+ [DESCRIPTION]
275
+ Added domain consistent minimum (min) and maximum (max) propagators.
276
+
277
+ [ENTRY]
278
+ Module: int
279
+ What: new
280
+ Rank: minor
281
+ [DESCRIPTION]
282
+ Added domain consistent square root propagator (sqrt).
283
+
284
+ [ENTRY]
285
+ Module: int
286
+ What: new
287
+ Rank: minor
288
+ [DESCRIPTION]
289
+ Added domain consistent squaring propagator (sqr).
290
+
291
+ [ENTRY]
292
+ Module: int
293
+ What: documentation
294
+ Rank: minor
295
+ [DESCRIPTION]
296
+ Added documentation for domain consistent absolute value (abs) propagator.
297
+
298
+ [ENTRY]
299
+ Module: int
300
+ What: new
301
+ Rank: minor
302
+ [DESCRIPTION]
303
+ Added reified propagators for relations over Boolean variables.
304
+
305
+ [RELEASE]
306
+ Version: 2.1.1
307
+ Date: 2008-03-06
308
+ [DESCRIPTION]
309
+ This is a bugfix release.
310
+
311
+ [ENTRY]
312
+ Module: int
313
+ What: bug
314
+ Rank: minor
315
+ [DESCRIPTION]
316
+ Non-shared copying of dfa was broken (matters only for parallel execution).
317
+
318
+ [ENTRY]
319
+ Module: kernel
320
+ What: bug
321
+ Rank: major
322
+ [DESCRIPTION]
323
+ The generated med_updated function was incorrect, resulting in potential
324
+ crashes of programs that use SetVars.
325
+
326
+ [ENTRY]
327
+ Module: cpltset
328
+ What: documentation
329
+ Rank: minor
330
+ [DESCRIPTION]
331
+ The CpltSet variables are now in the correct documentation group.
332
+
333
+ [ENTRY]
334
+ Module: gist
335
+ What: bug
336
+ Rank: minor
337
+ [DESCRIPTION]
338
+ Fixed redraw artefacts on Windows.
339
+
340
+ [ENTRY]
341
+ Module: other
342
+ What: bug
343
+ Rank: minor
344
+ [DESCRIPTION]
345
+ Fixed boost serialization.
346
+
347
+ [ENTRY]
348
+ Module: kernel
349
+ What: bug
350
+ Rank: minor
351
+ [DESCRIPTION]
352
+ Made the constructor of Reflection::Var explicit, otherwise overloading for
353
+ output stream operators does not work as expected.
354
+
355
+
356
+ [RELEASE]
357
+ Version: 2.1.0
358
+ Date: 2008-02-29
359
+ [DESCRIPTION]
360
+ This release makes two essential contributions: a partly
361
+ reimplemented kernel that is faster, is simpler, and uses less
362
+ memory and lots of small and not so small fixes. This release is
363
+ the first release where really everything that we can test
364
+ (rather than everything that we initially believed to matter) has
365
+ been systematically tested. So, better switch now to 2.1.0!
366
+
367
+ Apart from that, the value range for variables has been increased
368
+ (basically, 32 bits minus three values, so that is 32 bits), the reflection
369
+ API is now fully functional and no longer considered experimental, and we have
370
+ the usual small additions.
371
+
372
+
373
+ [ENTRY]
374
+ Module: int
375
+ What: new
376
+ Rank: minor
377
+ [DESCRIPTION]
378
+ Added interface to extensional constraints defined by TupleSets with
379
+ BoolVars.
380
+
381
+ [ENTRY]
382
+ Module: minimodel
383
+ What: bug
384
+ Rank: major
385
+ [DESCRIPTION]
386
+ Reimplemented linear expressions from scratch, they were just
387
+ hopelessly screwed.
388
+
389
+ [ENTRY]
390
+ Module: minimodel
391
+ What: bug
392
+ Rank: minor
393
+ [DESCRIPTION]
394
+ Added work-around for compiler bug in MSVC.
395
+
396
+ [ENTRY]
397
+ Module: minimodel
398
+ What: new
399
+ Rank: minor
400
+ [DESCRIPTION]
401
+ Support reified linear expressions with Boolean variables.
402
+
403
+ [ENTRY]
404
+ Module: int
405
+ What: change
406
+ Rank: minor
407
+ [DESCRIPTION]
408
+ Throw an exception if variables occur multiply for array-based
409
+ channel constraints.
410
+
411
+ [ENTRY]
412
+ Module: int
413
+ What: bug
414
+ Rank: minor
415
+ [DESCRIPTION]
416
+ Fixed multiplication propagator for x*y=x.
417
+
418
+ [ENTRY]
419
+ Module: search
420
+ What: change
421
+ Rank: major
422
+ [DESCRIPTION]
423
+ All search engines now take an option value for configuration
424
+ instead of individual arguments for recomputation, stop objects,
425
+ etc.
426
+
427
+ [ENTRY]
428
+ Module: minimodel
429
+ What: removed
430
+ Rank: minor
431
+ [DESCRIPTION]
432
+ Removed scheduling abstractions.
433
+
434
+ [ENTRY]
435
+ Module: int
436
+ What: removed
437
+ Rank: minor
438
+ [DESCRIPTION]
439
+ Removed extensional constraints with offset arguments.
440
+
441
+ [ENTRY]
442
+ Module: minimodel
443
+ What: new
444
+ Rank: minor
445
+ [DESCRIPTION]
446
+ All minimodel functionality now understands both IntConLevel and
447
+ PropKind arguments.
448
+
449
+ [ENTRY]
450
+ Module: set
451
+ What: bug
452
+ Rank: major
453
+ [DESCRIPTION]
454
+ Fixed bugs in several set constraints:
455
+ rel(Space*,SetVar,IntRelType irt,IntVar) for irt=IRT_NQ,
456
+ rel(Space*,SetVar,SetOpType sot,const IntSet&,SetRelType srt,SetVar) for
457
+ sot=SOT_MINUS, srt=SRT_SUP, selectDisjoint, selectUnion with constant IntSet
458
+ arguments, dom with SRT_NQ.
459
+
460
+ [ENTRY]
461
+ Module: kernel
462
+ What: bug
463
+ Rank: minor
464
+ [DESCRIPTION]
465
+ Fixed bug in unreflection of empty VarArrays.
466
+
467
+ [ENTRY]
468
+ Module: linear
469
+ What: bug
470
+ Rank: major
471
+ [DESCRIPTION]
472
+ Fixed overflow checking error in linear constraints.
473
+
474
+ [ENTRY]
475
+ Module: minimodel
476
+ What: new
477
+ Rank: minor
478
+ [DESCRIPTION]
479
+ Added sqrt function.
480
+
481
+ [ENTRY]
482
+ Module: int
483
+ What: new
484
+ Rank: minor
485
+ [DESCRIPTION]
486
+ Added sqrt propagator.
487
+
488
+ [ENTRY]
489
+ Module: int
490
+ What: new
491
+ Rank: minor
492
+ [DESCRIPTION]
493
+ Added sqr post function.
494
+
495
+ [ENTRY]
496
+ Module: int
497
+ What: bug
498
+ Rank: minor
499
+ [DESCRIPTION]
500
+ The overloaded versions of dom for variable arrays could not be
501
+ resolved automatically.
502
+
503
+ [ENTRY]
504
+ Module: int
505
+ What: new
506
+ Rank: minor
507
+ [DESCRIPTION]
508
+ Added missing branching for INT_VAR_SIZE_DEGREE_MIN and
509
+ INT_VAR_SIZE_DEGREE_MAX for Boolean variables.
510
+
511
+ [ENTRY]
512
+ Module: minimodel
513
+ What: bug
514
+ Rank: major
515
+ Thanks: Stanimir Dragiev
516
+ [DESCRIPTION]
517
+ Fixed bug in posting linear expressions.
518
+
519
+ [ENTRY]
520
+ Module: int
521
+ What: performance
522
+ Rank: minor
523
+ [DESCRIPTION]
524
+ IntSet have been reimplemented for efficiency.
525
+
526
+ [ENTRY]
527
+ Module: other
528
+ What: documentation
529
+ Rank: minor
530
+ Thanks: Martin Mann
531
+ [DESCRIPTION]
532
+ Function prototypes are now highlighted in the detailed function documentation.
533
+
534
+ [ENTRY]
535
+ Module: int
536
+ What: removed
537
+ Rank: minor
538
+ [DESCRIPTION]
539
+ The offset arguments for element constraints have been removed, as you can
540
+ simply add dummy elements to the array to achieve the same effect.
541
+
542
+ [ENTRY]
543
+ Module: set
544
+ What: removed
545
+ Rank: minor
546
+ [DESCRIPTION]
547
+ The offset arguments for selection constraints have been removed, as you can
548
+ simply add dummy elements to the array to achieve the same effect.
549
+
550
+ [ENTRY]
551
+ Module: other
552
+ What: new
553
+ Rank: major
554
+ [DESCRIPTION]
555
+ The serialization library now contains a registry of all the Gecode post
556
+ functions. This makes interfacing to Gecode much easier. The registry is
557
+ automatically generated from the post functions defined in gecode/int.hh and
558
+ gecode/set.hh.
559
+
560
+ [ENTRY]
561
+ Module: kernel
562
+ What: change
563
+ Rank: minor
564
+ [DESCRIPTION]
565
+ Cleaned up reflection. Unreflection is now part of the kernel instead of the
566
+ serialization library. Branchings now provide a human-readable description of
567
+ a BranchingDesc. The name function of a Propagator has been renamed to ati
568
+ (actor type identifier). All reflection is now const where possible.
569
+ Unreflection of variables now checks dynamically that the variable types
570
+ match. Unreflection of propagators checks the number of arguments. A
571
+ tutorial-style section on reflection has been added to the documentation.
572
+
573
+ [ENTRY]
574
+ Module: set
575
+ What: change
576
+ Rank: major
577
+ [DESCRIPTION]
578
+ The limits for set variables have been moved from Limits::Set to
579
+ Set::Limits.
580
+
581
+ The range of set variables has been adapted to the range of
582
+ integer variables. For example, on a standard machine
583
+ (regardless of 32 or 64 bits), a set can hold values from -2^30+2
584
+ to 2^30-2, its maximum cardinality therefore is 2^31-3.
585
+
586
+ [ENTRY]
587
+ Module: int
588
+ What: change
589
+ Rank: major
590
+ [DESCRIPTION]
591
+ The limits for set variables have been moved from Limits::Set to
592
+ Set::Limits.
593
+
594
+ The range of integer variables have been extended by one bit. For
595
+ example, on a standard machine (regardless of 32 or 64 bits), the
596
+ largest possible integer value for an integer variable is 2^31-2,
597
+ the smallest -2^31+2. With other words, only the integer values
598
+ 2^31-1, -2^31, and -2^31+1 are missing from the two-complement
599
+ representation (and we will never use these values for the sake
600
+ of mental sanity. We promise.).
601
+
602
+ [ENTRY]
603
+ Module: int
604
+ What: bug
605
+ Rank: minor
606
+ [DESCRIPTION]
607
+ Distinct with integer offsets checks accurately for overflow now.
608
+
609
+ [ENTRY]
610
+ Module: int
611
+ What: performance
612
+ Rank: minor
613
+ [DESCRIPTION]
614
+ Boolean variables consume 20% less memory.
615
+
616
+ [ENTRY]
617
+ Module: kernel
618
+ What: change
619
+ Rank: major
620
+ [DESCRIPTION]
621
+ Only stable and non-failed spaces can be cloned, otherwise
622
+ Space::clone raises an exception. This makes cloning and
623
+ propagation fully orthogonal. To emulate the old behavior, just
624
+ execute Space::status before Space::clone.
625
+
626
+ [ENTRY]
627
+ Module: kernel
628
+ What: change
629
+ Rank: minor
630
+ [DESCRIPTION]
631
+ The number of propagators and branchings can be accurately
632
+ retrieved from both failed and non-stable spaces.
633
+
634
+ [ENTRY]
635
+ Module: examples
636
+ What: new
637
+ Rank: minor
638
+ [DESCRIPTION]
639
+ Added an example that interprets a JavaScript program and runs a search of the
640
+ model that the program encodes. This is an example of how to use the
641
+ JavaScript interpreter. A simple JavaScript model for n-Queens has been added,
642
+ too.
643
+
644
+ [ENTRY]
645
+ Module: kernel
646
+ What: new
647
+ Rank: minor
648
+ [DESCRIPTION]
649
+ A generic variable class has been added that can be used for interfacing. It
650
+ can store arbitrary Gecode variables (e.g. IntVar and SetVar), and cast them
651
+ back using a run-time type check. The update, reflection, and output
652
+ operations are implemented through the reflection registry.
653
+
654
+ [ENTRY]
655
+ Module: other
656
+ What: new
657
+ Rank: major
658
+ [DESCRIPTION]
659
+ (De-)Serialization to and from JavaScript added.
660
+
661
+ [ENTRY]
662
+ Module: other
663
+ What: change
664
+ Rank: major
665
+ [DESCRIPTION]
666
+ Both the cost and propagate function of a propagator take the
667
+ current modification event delta as input. Likewise,
668
+ retrieving the modification event for a particular View must use
669
+ the static function View::me with the passed
670
+ modification event delta. Again, this feature committed the kernel to a
671
+ particular implementation which might not be available in the
672
+ future.
673
+
674
+ [ENTRY]
675
+ Module: kernel
676
+ What: change
677
+ Rank: minor
678
+ [DESCRIPTION]
679
+ Views and variables do not any longer reveal whether they have
680
+ been modified: this feature committed the kernel to a particular
681
+ implementation which might not be available in the future.
682
+
683
+ [ENTRY]
684
+ Module: example
685
+ What: new
686
+ Rank: minor
687
+ [DESCRIPTION]
688
+ Simple Singleton Arc Consistency pre-processing has been added as an
689
+ optional step for examples.
690
+
691
+ [ENTRY]
692
+ Module: kernel
693
+ What: change
694
+ Rank: major
695
+ [DESCRIPTION]
696
+ The kernel has undergone some cleanups and improvements (much of
697
+ it got actually reimplemented):
698
+ - Automatically generated stubs for variable implementations are directly
699
+ inlined into the kernel. This improves performance, but more
700
+ importantly, lifts some limits on the number of variables. Now, the
701
+ only limit is that the sum of the ceiling of the logarithms of the
702
+ number of modification events of all variables does not exceed 32
703
+ (as an estimate, the kernel now can handle around 10 to 16 variable
704
+ types). Moreover, if the need for more variable types arises this is
705
+ straightforward to do.
706
+ - The addition of new variable types for users has been simplified.
707
+ - The main propagation loop has been entirely rewritten (much much simpler).
708
+ Now, the kernel does not optimize any longer for the case that a
709
+ variable is modified more than once during propagator execution.
710
+ While this changes the asymptotic complexity, it reduces the propagator
711
+ execution overhead by up to 30%. And a propagator is still free
712
+ to make sure that a variable is modified only once (many propagators
713
+ do that already).
714
+ - Variable implementations became smaller by one word. Now variable
715
+ implementations are optimal in the sense that no additional memory
716
+ is needed for cloning or book-keeping, the memory required for
717
+ propagation is sufficient.
718
+ - Spaces have lost some weight as memory for datastructures only used
719
+ during cloning or propagation are shared (saves some 25% of memory
720
+ per space).
721
+
722
+ [ENTRY]
723
+ Module: kernel
724
+ What: change
725
+ Rank: major
726
+ [DESCRIPTION]
727
+ Propagator modification events have been renamed to modification event
728
+ deltas (because that is what they are).
729
+
730
+ [ENTRY]
731
+ Module: kernel
732
+ What: change
733
+ Rank: minor
734
+ [DESCRIPTION]
735
+ To not confuse variable implementations with variables, variable
736
+ implementations are now always called VarImp, and not Variable.
737
+
738
+ [ENTRY]
739
+ Module: gist
740
+ What: new
741
+ Rank: major
742
+ [DESCRIPTION]
743
+ The %Gecode Interactive Search Tool (Gist), a Qt-based graphical search
744
+ engine, is now part of the main %Gecode distribution. It is currently included
745
+ as an experimental beta preview and may not be completely stable yet.
746
+
747
+
748
+ [RELEASE]
749
+ Version: 2.0.1
750
+ Date: 2008-02-07
751
+ [DESCRIPTION]
752
+ This is a bug-fix only release. Very unfortunately, it fixes
753
+ three serious bugs in search (LDS, Restart, and assignment
754
+ branchings). We highly encourage you to switch to Gecode 2.0.1 as
755
+ soon as possible.
756
+
757
+ [ENTRY]
758
+ Module: test
759
+ What: bug
760
+ Rank: minor
761
+ [DESCRIPTION]
762
+ Fixed memory leak in reflection tests.
763
+
764
+ [ENTRY]
765
+ Module: set
766
+ What: bug
767
+ Rank: minor
768
+ [DESCRIPTION]
769
+ Fixed memory leak in set projection propagators.
770
+
771
+ [ENTRY]
772
+ Module: int
773
+ What: bug
774
+ Rank: minor
775
+ [DESCRIPTION]
776
+ Fixed memory leak in IntSet.
777
+
778
+ [ENTRY]
779
+ Module: test
780
+ What: new
781
+ Rank: major
782
+ [DESCRIPTION]
783
+ Added comprehensive tests for all search engines.
784
+
785
+ [ENTRY]
786
+ Module: search
787
+ What: bug
788
+ Rank: major
789
+ [DESCRIPTION]
790
+ Assignment branchings wrongly reported that they feature two alternatives
791
+ rather than one.
792
+
793
+ [ENTRY]
794
+ Module: search
795
+ What: bug
796
+ Rank: major
797
+ Thanks: Stefano Gualandi
798
+ [DESCRIPTION]
799
+ LDS had numerous quirks. It has been fixed and greatly improved:
800
+ it detects when the entire search tree has been probed,
801
+ independent of the maximal discrepancy.
802
+
803
+ [ENTRY]
804
+ Module: search
805
+ What: bug
806
+ Rank: major
807
+ Thanks: Stefano Gualandi
808
+ [DESCRIPTION]
809
+ Restart was broken in case the problem failed immediately with
810
+ propagation only, both when being initialized or when requesting
811
+ a next solution.
812
+
813
+ [ENTRY]
814
+ Module: iter
815
+ What: fix
816
+ Rank: minor
817
+ Thanks: David Barton
818
+ [DESCRIPTION]
819
+ Changed Ranges::Diff to make older versions of gcc happy.
820
+
821
+ [ENTRY]
822
+ Module: other
823
+ What: fix
824
+ Rank: minor
825
+ Thanks: David Barton
826
+ [DESCRIPTION]
827
+ Fixed linking order so that static linking works again.
828
+
829
+ [ENTRY]
830
+ Module: int
831
+ What: new
832
+ Rank: minor
833
+ Thanks: Mohamad Rabbath
834
+ [DESCRIPTION]
835
+ Re-added reified linear constraints for Boolean variables.
836
+
837
+ [ENTRY]
838
+ Module: int
839
+ What: bug
840
+ Rank: minor
841
+ [DESCRIPTION]
842
+ Domain-consistent abs could crash in certain (extremely rare) border cases.
843
+
844
+ [ENTRY]
845
+ Module: kernel
846
+ What: bug
847
+ Rank: major
848
+ [DESCRIPTION]
849
+ Static initialization order was undefined, making reflection work unreliably.
850
+ In particular, linking Gecode statically did not work.
851
+
852
+ [ENTRY]
853
+ Module: int
854
+ What: bug
855
+ Rank: minor
856
+ [DESCRIPTION]
857
+ Initializing an IntVar with an empty IntSet did not throw the appropriate
858
+ exception but crashed.
859
+
860
+ [ENTRY]
861
+ Module: kernel
862
+ What: bug
863
+ Rank: minor
864
+ [DESCRIPTION]
865
+ Exceptions did not have rtti information when compiled with gcc and
866
+ visibility, which meant that they could not be caught.
867
+
868
+ [ENTRY]
869
+ Module: example
870
+ What: bug
871
+ Rank: minor
872
+ Thanks: Helmut Simonis
873
+ [DESCRIPTION]
874
+ Fixed a bug and quirk in %Kakuro puzzles.
875
+
876
+ [ENTRY]
877
+ Module: kernel
878
+ What: change
879
+ Rank: minor
880
+ [DESCRIPTION]
881
+ The VarMapIter can now return both a specification and the actual VarBase* of
882
+ the currently iterated variable.
883
+
884
+ [ENTRY]
885
+ Module: other
886
+ What: bug
887
+ Rank: minor
888
+ [DESCRIPTION]
889
+ Revived boost serialization. The serialization functions will be compiled if
890
+ Gecode is configured with --with-boost.
891
+
892
+ [ENTRY]
893
+ Module: kernel
894
+ What: performance
895
+ Rank: minor
896
+ [DESCRIPTION]
897
+ Be less aggressive in increasing size of heap chunks.
898
+
899
+ [ENTRY]
900
+ Module: int
901
+ What: documentation
902
+ Rank: minor
903
+ [DESCRIPTION]
904
+ Fixed bug in documentation of table-based extensional constraint.
905
+
906
+ [ENTRY]
907
+ Module: kernel
908
+ What: bug
909
+ Rank: minor
910
+ [DESCRIPTION]
911
+ Fixed a bug in the hash function for pointers, which could return
912
+ negative array indices.
913
+
914
+
915
+
916
+ [RELEASE]
917
+ Version: 2.0.0
918
+ Date: 2007-11-14
919
+ [DESCRIPTION]
920
+ As witnessed by the version number change, this is a major
921
+ release with too many changes, fixes, and additions to mention
922
+ them all: please consult the changelog.
923
+
924
+ The highlights are:
925
+ - New propagators: channeling between Integer variable and array
926
+ of Boolean variables, circuit, table constraint (extensional),
927
+ incremental regular constraint (extensional), incremental
928
+ Boolean linear constraints
929
+ - Boolean variables have a dedicated implementation: twice as
930
+ fast, half the memory
931
+ - Advisors for incremental propagation (see: Lagerkvist,
932
+ Schulte, Advisors for Incremental Propagation, CP 2007)
933
+ - Many crucial performance and scalability improvements: memory
934
+ management, memory footprint of propagators
935
+ - Many cleanups and more documentation, many new examples
936
+ - New set variables with complete domain representation
937
+ (CpltSetVar) [experimental]
938
+ - A reflection API to query spaces about their propagators
939
+ [experimental]
940
+
941
+ The features marked as experimental are all functional, but might
942
+ be revised in the next releases.
943
+
944
+ As %Gecode 2.0.0 is a major release, you might have to adapt your
945
+ programs: \ref PageHowToChange_2 "How to Change to Gecode 2.0.0".
946
+
947
+ [ENTRY]
948
+ Module: int
949
+ What: new
950
+ Rank: major
951
+ [DESCRIPTION]
952
+ Added table-based extensional constraint.
953
+
954
+ [ENTRY]
955
+ Module: other
956
+ What: new
957
+ Rank: minor
958
+ [DESCRIPTION]
959
+ When compiling with gcc, the default visibility of symbols in the
960
+ generated dynamic library is set to hidden.
961
+
962
+ [ENTRY]
963
+ Module: set
964
+ What: removed
965
+ Rank: minor
966
+ [DESCRIPTION]
967
+ Removed buggy distinct propagator for finite sets.
968
+
969
+ [ENTRY]
970
+ Module: example
971
+ What: new
972
+ Rank: minor
973
+ Thanks: Helmut Simonis
974
+ [DESCRIPTION]
975
+ New example: %Kakuro puzzles.
976
+
977
+ [ENTRY]
978
+ Module: other
979
+ What: new
980
+ Rank: minor
981
+ Thanks: Martin Mann
982
+ [DESCRIPTION]
983
+ Added dist and distdir targets for creating source distribution.
984
+
985
+ [ENTRY]
986
+ Module: other
987
+ What: new
988
+ Rank: minor
989
+ Thanks: Filip Konvicka
990
+ [DESCRIPTION]
991
+ On windows with MSVC, always build program database files to ease
992
+ debugging of applications using %Gecode (files are also included in
993
+ packages).
994
+
995
+ [ENTRY]
996
+ Module: int
997
+ What: new
998
+ Rank: minor
999
+ [DESCRIPTION]
1000
+ Added new variable selection based on largest or smallest
1001
+ quotient of size and degree.
1002
+
1003
+ [ENTRY]
1004
+ Module: other
1005
+ What: new
1006
+ Rank: minor
1007
+ [DESCRIPTION]
1008
+ Variable arrays, view arrays, and argument arrays can directly be
1009
+ printed on standard output streams.
1010
+
1011
+ [ENTRY]
1012
+ Module: other
1013
+ What: change
1014
+ Rank: minor
1015
+ [DESCRIPTION]
1016
+ The structure of includes has been drastically
1017
+ simplified. Support for iterators ("gecode/iter.hh") is
1018
+ automatically included with integers ("gecode/int.hh") and sets
1019
+ ("gecode/set.hh"). Likewise, all support functionality becomes
1020
+ available by including "gecode/support.hh" (one can assume that
1021
+ this is included in "gecode/kernel.hh").
1022
+
1023
+ [ENTRY]
1024
+ Module: kernel
1025
+ What: change
1026
+ Rank: minor
1027
+ [DESCRIPTION]
1028
+ Shared arrays are now available in the kernel (where they properly
1029
+ belong). This entails that they are available in the Gecode
1030
+ namespace and not in Gecode::Support.
1031
+
1032
+ [ENTRY]
1033
+ Module: int
1034
+ What: change
1035
+ Rank: minor
1036
+ [DESCRIPTION]
1037
+ The extensional constraint specified by a DFA or a regular
1038
+ expression (formerly known as regular) is now named "extensional"
1039
+ rather than "regular".
1040
+
1041
+ [ENTRY]
1042
+ Module: minimodel
1043
+ What: bug
1044
+ Rank: minor
1045
+ [DESCRIPTION]
1046
+ Fixed small quirk in posting an absolute propagator via a function.
1047
+
1048
+ [ENTRY]
1049
+ Module: set
1050
+ What: new
1051
+ Rank: minor
1052
+ [DESCRIPTION]
1053
+ Added channeling propagator between a SetVar and a BoolVarArray
1054
+ that propagates the characteristic function of the set to the
1055
+ Boolean variables.
1056
+
1057
+ [ENTRY]
1058
+ Module: set
1059
+ What: performance
1060
+ Rank: minor
1061
+ [DESCRIPTION]
1062
+ Changed the datastructure for set variables to use singly-linked
1063
+ lists.
1064
+
1065
+ [ENTRY]
1066
+ Module: other
1067
+ What: change
1068
+ Rank: minor
1069
+ [DESCRIPTION]
1070
+ The values (and types) for selecting how to branch have been made
1071
+ uniform for all variables types: they start with INT_ (or SET_ or
1072
+ CPLTSET_), followed by either VAL or VAR and the respective
1073
+ strategy.
1074
+
1075
+ [ENTRY]
1076
+ Module: int
1077
+ What: change
1078
+ Rank: minor
1079
+ [DESCRIPTION]
1080
+ The interface for the global cardinality constraint has been simplified.
1081
+ The constraint is now called count.
1082
+
1083
+ [ENTRY]
1084
+ Module: int
1085
+ What: change
1086
+ Rank: minor
1087
+ [DESCRIPTION]
1088
+ Regular expressions (REG) have been moved from the integer module to
1089
+ the minimodel module.
1090
+
1091
+ [ENTRY]
1092
+ Module: example
1093
+ What: change
1094
+ Rank: major
1095
+ [DESCRIPTION]
1096
+ Most examples have been cleaned up.
1097
+
1098
+ [ENTRY]
1099
+ Module: example
1100
+ What: change
1101
+ Rank: minor
1102
+ [DESCRIPTION]
1103
+ Parsing of commandline arguments has been completely redone and
1104
+ is much more extensible and flexible.
1105
+
1106
+ [ENTRY]
1107
+ Module: other
1108
+ What: change
1109
+ Rank: minor
1110
+ [DESCRIPTION]
1111
+ All of %Gecode has been put under the MIT license (which the
1112
+ previous license was a simple rewording of).
1113
+
1114
+ [ENTRY]
1115
+ Module: other
1116
+ What: bug
1117
+ Rank: minor
1118
+ [DESCRIPTION]
1119
+ Removed huge number of casts that could (only potentially)
1120
+ compromise portability.
1121
+
1122
+ [ENTRY]
1123
+ Module: set
1124
+ What: new
1125
+ Rank: minor
1126
+ [DESCRIPTION]
1127
+ Finite set projectors can now be specified using formulas, in addition to
1128
+ set expressions.
1129
+
1130
+ [ENTRY]
1131
+ Module: cpltset
1132
+ What: new
1133
+ Rank: major
1134
+ [DESCRIPTION]
1135
+ Finite integer set variables with complete domain representation,
1136
+ based on binary decision diagrams (BDDs), have been added as a
1137
+ new variable type.
1138
+
1139
+ [ENTRY]
1140
+ Module: kernel
1141
+ What: new
1142
+ Rank: major
1143
+ [DESCRIPTION]
1144
+ A reflection API has been added, which allows querying spaces
1145
+ about the variables and propagators they contain.
1146
+
1147
+ [ENTRY]
1148
+ Module: kernel
1149
+ What: bug
1150
+ Rank: major
1151
+ [DESCRIPTION]
1152
+ Branching ids were not properly initialized. This was a serious
1153
+ problem if you posted branchings in spaces other than the root
1154
+ space.
1155
+
1156
+ [ENTRY]
1157
+ Module: int
1158
+ What: change
1159
+ Rank: major
1160
+ [DESCRIPTION]
1161
+ Iterator-based domain operations have been renamed,
1162
+ reimplemented, and extended. Now operations for both range and
1163
+ value iterators are supported and the operations can be told to
1164
+ perform more efficient destructive updates.
1165
+
1166
+ [ENTRY]
1167
+ Module: int
1168
+ What: change
1169
+ Rank: minor
1170
+ [DESCRIPTION]
1171
+ Sortedness constraints have been renamed to sorted constraints.
1172
+
1173
+ [ENTRY]
1174
+ Module: kernel
1175
+ What: change
1176
+ Rank: minor
1177
+ [DESCRIPTION]
1178
+ VarArrays can now be resized dynamically.
1179
+
1180
+ [ENTRY]
1181
+ Module: int
1182
+ What: performance
1183
+ Rank: major
1184
+ [DESCRIPTION]
1185
+ Boolean linear equations and inequalities with constant
1186
+ right-hand sides use constant time propagators whenever
1187
+ appropriate (linear time with less overhead and memory for
1188
+ propagators with few variables).
1189
+
1190
+ [ENTRY]
1191
+ Module: kernel
1192
+ What: new
1193
+ Rank: major
1194
+ [DESCRIPTION]
1195
+ Added advisors as an abstraction for incremental propagation:
1196
+ advisors are executed for their propagator whenever their view
1197
+ changes. Advisors, when not being used, add one word of overhead
1198
+ to each variable and slow down the system in the worst case by
1199
+ less than 1%. In average, no slowdown can be observed.
1200
+
1201
+ [ENTRY]
1202
+ Module: int
1203
+ What: bug
1204
+ Rank: minor
1205
+ [DESCRIPTION]
1206
+ Fixed a border-case bug for n-ary Boolean conjunction and disjunction.
1207
+
1208
+ [ENTRY]
1209
+ Module: kernel
1210
+ What: new
1211
+ Rank: minor
1212
+ [DESCRIPTION]
1213
+ A new propagation condition PC_GEN_NONE (and hence, PC_INT_NONE,
1214
+ ...) has been introduced. Propagator patterns with this
1215
+ propagation condition now do not create any subscriptions.
1216
+
1217
+ [ENTRY]
1218
+ Module: int
1219
+ What: performance
1220
+ Rank: major
1221
+ [DESCRIPTION]
1222
+ The regular constraint has been reimplemented, the new version
1223
+ runs more than twice as fast.
1224
+
1225
+ [ENTRY]
1226
+ Module: example
1227
+ What: new
1228
+ Rank: minor
1229
+ [DESCRIPTION]
1230
+ Added a model for the traveling salesman problem, mostly
1231
+ intended to exercise the new circuit constraint (as the model is not
1232
+ very competitive).
1233
+
1234
+ [ENTRY]
1235
+ Module: kernel
1236
+ What: new
1237
+ Rank: major
1238
+ [DESCRIPTION]
1239
+ Support for reference-counted shared objects added: they handle
1240
+ both reference counting as well as non-shared copying. This fixes
1241
+ some bugs with the handling of shared arrays, integer sets, and
1242
+ finite automata.
1243
+
1244
+
1245
+ [ENTRY]
1246
+ Module: example
1247
+ What: bug
1248
+ Rank: minor
1249
+ [DESCRIPTION]
1250
+ Examples reported wrong number of propagator invocations (the
1251
+ invocations for problem setup were missing).
1252
+
1253
+ [ENTRY]
1254
+ Module: kernel
1255
+ What: new
1256
+ Rank: major
1257
+ [DESCRIPTION]
1258
+ Added classes for shared objects and handles. Handles to shared
1259
+ objects allow to either share copies among spaces when being
1260
+ copied or to create a new shared copy, if requested.
1261
+
1262
+ [ENTRY]
1263
+ Module: int
1264
+ What: new
1265
+ Rank: minor
1266
+ Thanks: Martin Mann
1267
+ [DESCRIPTION]
1268
+ Added a new version of count (and also atleast, atmost, exactly)
1269
+ that counts the number of variables equal to integers in an
1270
+ array.
1271
+
1272
+ [ENTRY]
1273
+ Module: example
1274
+ What: bug
1275
+ Rank: minor
1276
+ Bug: 50
1277
+ [DESCRIPTION]
1278
+ The number of colors in graph-color was off by one.
1279
+
1280
+ [ENTRY]
1281
+ Module: int
1282
+ What: new
1283
+ Rank: major
1284
+ [DESCRIPTION]
1285
+ Added channel constraints that channel an integer variable to
1286
+ either a single or an array of Boolean variables.
1287
+
1288
+ [ENTRY]
1289
+ Module: int
1290
+ What: bug
1291
+ Rank: minor
1292
+ [DESCRIPTION]
1293
+ Fixed bug in copying of n-ary or-propagator for a special boundary case.
1294
+
1295
+ [ENTRY]
1296
+ Module: int
1297
+ What: new
1298
+ Rank: minor
1299
+ [DESCRIPTION]
1300
+ Relaxed sharing restrictions for channel, in particular
1301
+ channel(this, x, x) is allowed.
1302
+
1303
+ [ENTRY]
1304
+ Module: int
1305
+ What: new
1306
+ Rank: major
1307
+ [DESCRIPTION]
1308
+ Added propagators for the circuit constraint.
1309
+
1310
+ [ENTRY]
1311
+ Module: kernel
1312
+ What: performance
1313
+ Rank: minor
1314
+ [DESCRIPTION]
1315
+ Improved automatic memory management on Windows platforms.
1316
+
1317
+ [ENTRY]
1318
+ Module: int
1319
+ What: performance
1320
+ Rank: minor
1321
+ [DESCRIPTION]
1322
+ Domain consistent distinct and channel allocate memory from the
1323
+ space heap now. Much simpler.
1324
+
1325
+ [ENTRY]
1326
+ Module: int
1327
+ What: change
1328
+ Rank: minor
1329
+ [DESCRIPTION]
1330
+ The Boolean tell operations one_none and zero_none now also
1331
+ return a ModEvent and hence must be checked for failure. This is
1332
+ needed for simpler advisors.
1333
+
1334
+ [ENTRY]
1335
+ Module: kernel
1336
+ What: performance
1337
+ Rank: major
1338
+ [DESCRIPTION]
1339
+ The memory management policies have been completely reworked. Now
1340
+ memory requests are much more regular. Hence, memory is much more
1341
+ likely to be returned to the operating system. Furthermore, the
1342
+ flush member functions for actors have been removed (they were
1343
+ unneeded) and actors and spaces now have allocated member
1344
+ functions for returning how much memory is allocated by a space.
1345
+
1346
+ Moreover, the memory reported by some propagators has been
1347
+ ignored. Note that this flaw did not affect the benchmark figures
1348
+ on the %Gecode webpage.
1349
+
1350
+ [ENTRY]
1351
+ Module: int
1352
+ What: performance
1353
+ Rank: minor
1354
+ [DESCRIPTION]
1355
+ The multiplication uses integer precision if possible for better
1356
+ performance.
1357
+
1358
+ [ENTRY]
1359
+ Module: int
1360
+ What: change
1361
+ Rank: minor
1362
+ [DESCRIPTION]
1363
+ Integer and Boolean variables are now guaranteed to be
1364
+ inspectable (that is, all const member functions work on them),
1365
+ even though a space is failed. However, the variables might have
1366
+ been modified during a tell operation that has failed.
1367
+
1368
+ [ENTRY]
1369
+ Module: minimodel
1370
+ What: change
1371
+ Rank: major
1372
+ [DESCRIPTION]
1373
+ Linear expressions and relations can also be created from Boolean
1374
+ variables, with the restriction that Boolean relations cannot be
1375
+ reified.
1376
+
1377
+ [ENTRY]
1378
+ Module: int
1379
+ What: change
1380
+ Rank: major
1381
+ [DESCRIPTION]
1382
+ Boolean variables (and hence Boolean views) do not any longer
1383
+ share the implementation with integer variables. That has the
1384
+ following consequences:
1385
+ - Boolean variables are not any longer integer variables. The same
1386
+ holds true for arrays of variables.
1387
+ - All constraints that make sense for both Boolean and integer
1388
+ variables have post functions that support both integer and
1389
+ Boolean variables.
1390
+ - Memory for Boolean variables is reduced by 50% and performance
1391
+ increases in problems with many Boolean variables by up to 50%.
1392
+
1393
+ [ENTRY]
1394
+ Module: int
1395
+ What: new
1396
+ Rank: major
1397
+ [DESCRIPTION]
1398
+ Added propagators for linear constraints over Boolean variables,
1399
+ in particular specialized and efficient versions for non-unit
1400
+ coefficients.
1401
+
1402
+ [ENTRY]
1403
+ Module: int
1404
+ What: change
1405
+ Rank: minor
1406
+ [DESCRIPTION]
1407
+ The linear constraints are now more careful (that is, they will
1408
+ use more efficient versions more often if it is safe) to
1409
+ determine whether overflow occurs and which precision (integer or
1410
+ double) should be chosen.
1411
+
1412
+ [ENTRY]
1413
+ Module: int
1414
+ What: change
1415
+ Rank: minor
1416
+ [DESCRIPTION]
1417
+ The element constraints now accept an additional offset argument.
1418
+
1419
+ [ENTRY]
1420
+ Module: set
1421
+ What: new
1422
+ Rank: minor
1423
+ [DESCRIPTION]
1424
+ Added selection and reified relation constraints with constant sets.
1425
+
1426
+ [ENTRY]
1427
+ Module: set
1428
+ What: change
1429
+ Rank: minor
1430
+ [DESCRIPTION]
1431
+ Slightly stronger inferences for the finite set sequence and selection
1432
+ constraints.
1433
+
1434
+ [ENTRY]
1435
+ Module: example
1436
+ What: new
1437
+ Rank: minor
1438
+ [DESCRIPTION]
1439
+ New example: the balanced academic curriculum problem (problem 030 from
1440
+ CSPlib).
1441
+
1442
+ [ENTRY]
1443
+ Module: set
1444
+ What: bug
1445
+ Rank: minor
1446
+ [DESCRIPTION]
1447
+ Fixed the n-ary partition propagator to handle overflow of the sum of
1448
+ cardinalities correctly.
1449
+
1450
+ [ENTRY]
1451
+ Module: kernel
1452
+ What: bug
1453
+ Rank: minor
1454
+ [DESCRIPTION]
1455
+ Subscription to constant views now should use the propagate
1456
+ member function from a variable implementation: it guarantees
1457
+ execution of a propagator at least once (int and set views have
1458
+ been adopted accordingly).
1459
+
1460
+ [ENTRY]
1461
+ Module: int
1462
+ What: bug
1463
+ Rank: major
1464
+ Bug: 48
1465
+ [DESCRIPTION]
1466
+ Branching on maximum regret would always crash on non-range domains.
1467
+
1468
+ [ENTRY]
1469
+ Module: set
1470
+ What: change
1471
+ Rank: minor
1472
+ [DESCRIPTION]
1473
+ The finite set selection propagators accept an additional
1474
+ argument that specifies where the indexing should start. It
1475
+ should make some models more natural to express, and helps in
1476
+ porting code from other systems, such as Prolog or Mozart. In
1477
+ addition, the selectUnion propagator is now hand-written again,
1478
+ resulting in better performance.
1479
+
1480
+ [ENTRY]
1481
+ Module: int
1482
+ What: change
1483
+ Rank: major
1484
+ [DESCRIPTION]
1485
+ All Boolean constraints got a new and regular interface. Rather
1486
+ than providing different post functions for the different
1487
+ constraints, the single post function rel is used: the Boolean
1488
+ operation then is described by a value of type BoolOpType. In
1489
+ addition, all Boolean propagators have been reimplemented for
1490
+ better performance and less memory use.
1491
+
1492
+ [ENTRY]
1493
+ Module: test
1494
+ What: new
1495
+ Rank: minor
1496
+ [DESCRIPTION]
1497
+ Added simple testing for branchings.
1498
+
1499
+ [ENTRY]
1500
+ Module: kernel
1501
+ What: change
1502
+ Rank: major
1503
+ [DESCRIPTION]
1504
+ The way how propagators report subsumption and partial fixpoints
1505
+ has changed. Now, a propagator must first call dispose (which
1506
+ then cancels subscriptions and possibly frees external resources)
1507
+ and only then can return that the propagator is subsumed. For
1508
+ that purpose a new function Gecode::ES_SUBSUMED has been
1509
+ defined. Likewise, ES_FIX_PARTIAL and ES_NOFIX_PARTIAL are
1510
+ functions rather than member functions of Gecode::Propagator. The
1511
+ benefit is that this saves memory and is more efficient.
1512
+
1513
+ [ENTRY]
1514
+ Module: int
1515
+ What: change
1516
+ Rank: minor
1517
+ [DESCRIPTION]
1518
+ The use of the consistency options were a little confusing, now
1519
+ the rule is: the level of consistency increases from ICL_VAL to
1520
+ ICL_BND to ICL_DOM.
1521
+
1522
+ [ENTRY]
1523
+ Module: minimodel
1524
+ What: performance
1525
+ Rank: minor
1526
+ [DESCRIPTION]
1527
+ Boolean expressions erroneously decomposed into ternary Boolean
1528
+ constraints, while not incorrect rather inefficient for large
1529
+ Boolean expressions.
1530
+
1531
+ [ENTRY]
1532
+ Module: kernel
1533
+ What: change
1534
+ Rank: minor
1535
+ [DESCRIPTION]
1536
+ Made all macros type safe.
1537
+
1538
+ [ENTRY]
1539
+ Module: kernel
1540
+ What: new
1541
+ Rank: major
1542
+ [DESCRIPTION]
1543
+ Added macro GECODE_REWRITE for rewriting propagators. It is strongly advised
1544
+ to always use this macro!
1545
+
1546
+ [ENTRY]
1547
+ Module: example
1548
+ What: bug
1549
+ Rank: minor
1550
+ Bug: 46
1551
+ [DESCRIPTION]
1552
+ Orientation of Sudokus now match the orientation in the specification-file.
1553
+
1554
+ [ENTRY]
1555
+ Module: example
1556
+ What: new
1557
+ Rank: minor
1558
+ [DESCRIPTION]
1559
+ New example: MineSweeper.
1560
+
1561
+ [ENTRY]
1562
+ Module: example
1563
+ What: new
1564
+ Rank: minor
1565
+ [DESCRIPTION]
1566
+ New example: Domino.
1567
+
1568
+ [ENTRY]
1569
+ Module: set
1570
+ What: bug
1571
+ Rank: minor
1572
+ [DESCRIPTION]
1573
+ Set projectors could subscribe with bogus propagation conditions.
1574
+
1575
+ [ENTRY]
1576
+ Module: set
1577
+ What: performance
1578
+ Rank: minor
1579
+ [DESCRIPTION]
1580
+ Performance of the tell operations on finite set variables was
1581
+ improved. Especially the intersect operation benefits from this.
1582
+
1583
+ [ENTRY]
1584
+ Module: int
1585
+ What: new
1586
+ Rank: minor
1587
+ [DESCRIPTION]
1588
+ The element constraint now also supports integer values as result.
1589
+
1590
+ [ENTRY]
1591
+ Module: kernel
1592
+ What: new
1593
+ Rank: minor
1594
+ [DESCRIPTION]
1595
+ Add a generic class for assignments during search (similar to
1596
+ generic branchings for views and values).
1597
+
1598
+ [ENTRY]
1599
+ Module: int
1600
+ What: change
1601
+ Rank: minor
1602
+ [DESCRIPTION]
1603
+ All branching classes for value and view selection are now
1604
+ parametric.
1605
+
1606
+ [ENTRY]
1607
+ Module: int
1608
+ What: change
1609
+ Rank: minor
1610
+ [DESCRIPTION]
1611
+ Boolean variables cannot longer be initialized from an integer
1612
+ variable. If needed, a channel propagator must be posted (added).
1613
+
1614
+ [ENTRY]
1615
+ Module: int
1616
+ What: change
1617
+ Rank: minor
1618
+ [DESCRIPTION]
1619
+ The equality constraints have been replaced by a variant of rel.
1620
+
1621
+ [ENTRY]
1622
+ Module: kernel
1623
+ What: change
1624
+ Rank: minor
1625
+ [DESCRIPTION]
1626
+ The propagator abstractions Inhom* have been renamed to Mix*.
1627
+
1628
+ [ENTRY]
1629
+ Module: int
1630
+ What: change
1631
+ Rank: minor
1632
+ [DESCRIPTION]
1633
+ The operations t_one, t_one_none, t_zero, t_zero_none for Boolean
1634
+ views have been renamed to one, one_none, zero, zero_none.
1635
+
1636
+ [ENTRY]
1637
+ Module: kernel
1638
+ What: performance
1639
+ Rank: major
1640
+ [DESCRIPTION]
1641
+ Explicit disposal of actors has been reimplemented (the old
1642
+ design was nothing but darn stupid). The memory overhead of
1643
+ propagators is reduced by 40% for most propagators and 20% for
1644
+ all. That is, a binary propagator takes 30% less memory and a
1645
+ ternary propagator takes 25% less memory. Programs with many
1646
+ binary or ternary propagators can run up to 20% faster.
1647
+
1648
+ [ENTRY]
1649
+ Module: kernel
1650
+ What: change
1651
+ Rank: minor
1652
+ [DESCRIPTION]
1653
+ Propagators and branchings that require disposal when a space is
1654
+ deleted must now be explicitly registered via a force function
1655
+ and explicitly deregistered by an unforce function.
1656
+
1657
+ [ENTRY]
1658
+ Module: int
1659
+ What: bug
1660
+ Rank: minor
1661
+ [DESCRIPTION]
1662
+ Fixed memory leak in reified dom constraint.
1663
+
1664
+ [ENTRY]
1665
+ Module: set
1666
+ What: bug
1667
+ Rank: minor
1668
+ [DESCRIPTION]
1669
+ Fixed memory leak in distinct constraint for sets.
1670
+
1671
+ [ENTRY]
1672
+ Module: example
1673
+ What: new
1674
+ Rank: major
1675
+ [DESCRIPTION]
1676
+ New example: Pentominoes. The example uses extensional
1677
+ constraints specified as regular expressions to place
1678
+ irregular-shaped pieces on a board.
1679
+
1680
+
1681
+
1682
+ [RELEASE]
1683
+ Version: 1.3.1
1684
+ Date: 2006-10-25
1685
+ [DESCRIPTION]
1686
+ This is a minor release which fixes a major bug (the first real
1687
+ serious bug). Please update as soon as possible.
1688
+
1689
+ [ENTRY]
1690
+ Module: kernel
1691
+ What: bug
1692
+ Rank: major
1693
+ Thanks: Rafael Meneses
1694
+ [DESCRIPTION]
1695
+ Branch&Bound search with ViewValBranchings (all standard branchings) together
1696
+ with batch recomputation was severely broken. The problems ranged from wrong
1697
+ search trees (missing solutions) to segmentation faults. The fix changes the
1698
+ way assigned variables are removed from the array in a ViewValBranching.
1699
+
1700
+ [ENTRY]
1701
+ Module: int
1702
+ What: bug
1703
+ Rank: minor
1704
+ [DESCRIPTION]
1705
+ Bounds-consistent distinct catches border case when an assigned variable
1706
+ during bounds propagation leads to value removal for value propagation.
1707
+
1708
+ [ENTRY]
1709
+ Module: int
1710
+ What: performance
1711
+ Rank: minor
1712
+ [DESCRIPTION]
1713
+ Bounds-consistent distinct eliminates assigned variables more
1714
+ aggressively (can save up to 10% runtime in some cases).
1715
+
1716
+ [ENTRY]
1717
+ Module: int
1718
+ What: bug
1719
+ Rank: minor
1720
+ Thanks: Alejandro Arbelaez
1721
+ [DESCRIPTION]
1722
+ IntVar::init now also raises exceptions for illegal domain specifications.
1723
+
1724
+
1725
+
1726
+
1727
+
1728
+ [RELEASE]
1729
+ Version: 1.3.0
1730
+ Date: 2006-09-19
1731
+ [DESCRIPTION]
1732
+ This release adds a compiler for finite set projectors and provides new
1733
+ infrastructure making it easier to add new variable domains. In addition,
1734
+ it contains recent bug fixes and minor improvements.
1735
+
1736
+ [ENTRY]
1737
+ Module: set
1738
+ What: new
1739
+ Rank: major
1740
+ [DESCRIPTION]
1741
+ Compiler for finite set projectors. Given a specification of a finite set
1742
+ constraint as a projector set, it generates C++ code for the corresponding
1743
+ propagator. Together with the dynamic propagator for finite set projectors,
1744
+ this implements the backend of the technique described in the paper
1745
+ "Generating Propagators for Finite Set Constraints" (Tack, Schulte,
1746
+ Smolka; CP 2006.).
1747
+
1748
+ [ENTRY]
1749
+ Module: other
1750
+ What: new
1751
+ Rank: minor
1752
+ Thanks: Jorge Marques Pelizzoni
1753
+ [DESCRIPTION]
1754
+ Also pass options for linking standard libraries for MSVC.
1755
+
1756
+ [ENTRY]
1757
+ Module: other
1758
+ What: bug
1759
+ Rank: minor
1760
+ [DESCRIPTION]
1761
+ The pkg-config files now contain the correct path if you configured to the
1762
+ default prefix (i.e. /usr/local).
1763
+
1764
+ [ENTRY]
1765
+ Module: minimodel
1766
+ What: new
1767
+ Rank: minor
1768
+ [DESCRIPTION]
1769
+ Added aliases lex, atleast, atmost, and exactly for the count constraint.
1770
+
1771
+ [ENTRY]
1772
+ Module: int
1773
+ What: change
1774
+ Rank: minor
1775
+ [DESCRIPTION]
1776
+ Renamed lex constraint to rel (as it also supports equality and disequality).
1777
+
1778
+ [ENTRY]
1779
+ Module: int
1780
+ What: performance
1781
+ Rank: minor
1782
+ [DESCRIPTION]
1783
+ Make count constraints with integer number of equal occurrences
1784
+ more incremental using dynamic subscriptions (gives a 20-30%
1785
+ speedup).
1786
+
1787
+ [ENTRY]
1788
+ Module: example
1789
+ What: new
1790
+ Rank: minor
1791
+ [DESCRIPTION]
1792
+ Added an example for solving Black Hole patience games.
1793
+
1794
+ [ENTRY]
1795
+ Module: kernel
1796
+ What: new
1797
+ Rank: major
1798
+ [DESCRIPTION]
1799
+ Subscription to variables now features an additional and optional
1800
+ Boolean argument whether the propagator is to be processed. This
1801
+ allows dynamically creation of subscriptions during propagation.
1802
+
1803
+ [ENTRY]
1804
+ Module: other
1805
+ What: new
1806
+ Rank: minor
1807
+ [DESCRIPTION]
1808
+ New configure switches: --enable-audit to include audit code, which may
1809
+ contain expensive checks of internal invariants or alternative, checked
1810
+ implementations of critical parts of %Gecode. --enable-universal and
1811
+ --with-sdk, to support building universal binaries on Mac OS X.
1812
+
1813
+ [ENTRY]
1814
+ Module: kernel
1815
+ What: new
1816
+ Rank: minor
1817
+ [DESCRIPTION]
1818
+ Variables can now be deallocated when the Space is deallocated (for example in
1819
+ case of failure). This is important in case a variable implementation needs to
1820
+ reference external resources. Deallocation can be switched on in the
1821
+ high-level description used for generating the variable implementation.
1822
+
1823
+ [ENTRY]
1824
+ Module: minimodel
1825
+ What: bug
1826
+ Rank: minor
1827
+ Thanks: Rafael Meneses
1828
+ [DESCRIPTION]
1829
+ Under certain conditions (posting in a failed space), the post function
1830
+ returned uninitialized variables.
1831
+
1832
+ [ENTRY]
1833
+ Module: kernel
1834
+ What: performance
1835
+ Rank: major
1836
+ [DESCRIPTION]
1837
+ Variable implementations are now generated from a high-level
1838
+ description (taking care of all aspects relating to modification
1839
+ events and propagation conditions). While simplifying the
1840
+ implementation of new variable domains considerably, this also can,
1841
+ in lucky cases, deliver a speed-up of 5%.
1842
+
1843
+ [ENTRY]
1844
+ Module: kernel
1845
+ What: performance
1846
+ Rank: major
1847
+ [DESCRIPTION]
1848
+ Allocate subscriptions in separate memory area. Can speedup execution
1849
+ in some (but few) cases by up to 15-20%.
1850
+
1851
+ [ENTRY]
1852
+ Module: int
1853
+ What: documentation
1854
+ Rank: minor
1855
+ Bug: 43
1856
+ [DESCRIPTION]
1857
+ Fixed documentation problem due to doxygen...
1858
+
1859
+ [ENTRY]
1860
+ Module: search
1861
+ What: new
1862
+ Rank: major
1863
+ [DESCRIPTION]
1864
+ Branch-and-bound search now interleaves recomputation with adding
1865
+ bounding constraints. This can prune the search tree much
1866
+ earlier: instead of recomputing many nodes from the same copy
1867
+ node and then adding a constraint that fails all these nodes, it
1868
+ might be possible to already fail the copy node directly. In
1869
+ principle, the difference can be exponential, however for
1870
+ examples we tried the effect is minor.
1871
+
1872
+ [ENTRY]
1873
+ Module: kernel
1874
+ What: bug
1875
+ Rank: minor
1876
+ [DESCRIPTION]
1877
+ Now commits can be interleaved with adding new constraints during
1878
+ batch recomputation. This also entails that commit does not raise
1879
+ an exception when applied to an already failed space (it is
1880
+ simply ignored). The bug could not be observed (unless you did
1881
+ some very fancy search engines yourself) and one could actually
1882
+ see it as an extension.
1883
+
1884
+
1885
+
1886
+
1887
+ [RELEASE]
1888
+ Version: 1.2.2
1889
+ Date: 2006-07-25
1890
+ [DESCRIPTION]
1891
+ This release switches recomputation back on and removes some
1892
+ experimental code that had sneaked into the system...
1893
+
1894
+ [ENTRY]
1895
+ Module: kernel
1896
+ What: performance
1897
+ Rank: major
1898
+ [DESCRIPTION]
1899
+ Some experimental code had sneaked into the release, slowing down
1900
+ the system by more than 10%...
1901
+
1902
+ [ENTRY]
1903
+ Module: search
1904
+ What: bug
1905
+ Rank: major
1906
+ [DESCRIPTION]
1907
+ With the changes to search in %Gecode 1.2.1 recomputation was
1908
+ actually almost switched off...
1909
+
1910
+ [ENTRY]
1911
+ Module: int
1912
+ What: performance
1913
+ Rank: minor
1914
+ [DESCRIPTION]
1915
+ Improve performance of domain-consistent distinct (by providing
1916
+ special ternary version). Can reduce runtime by 10-20% for some
1917
+ examples.
1918
+
1919
+ [ENTRY]
1920
+ Module: int
1921
+ What: performance
1922
+ Rank: minor
1923
+ [DESCRIPTION]
1924
+ Cut memory requirements for element (for integer arrays) by half.
1925
+
1926
+ [ENTRY]
1927
+ Module: example
1928
+ What: new
1929
+ Rank: minor
1930
+ [DESCRIPTION]
1931
+ Added stress test for element constraint (originally due to Neng-Fa Zhou).
1932
+
1933
+ [ENTRY]
1934
+ Module: example
1935
+ What: new
1936
+ Rank: minor
1937
+ [DESCRIPTION]
1938
+ Added stress test for min constraint.
1939
+
1940
+ [ENTRY]
1941
+ Module: example
1942
+ What: new
1943
+ Rank: minor
1944
+ [DESCRIPTION]
1945
+ Added possibility to stop the search for solutions in examples based
1946
+ on the time taken, the number of fails, or both.
1947
+
1948
+ [ENTRY]
1949
+ Module: example
1950
+ What: new
1951
+ Rank: minor
1952
+ [DESCRIPTION]
1953
+ Added an example for solving Peacable co-existing armies of %Queens.
1954
+
1955
+
1956
+
1957
+ [RELEASE]
1958
+ Version: 1.2.1
1959
+ Date: 2006-07-19
1960
+ [DESCRIPTION]
1961
+ In addition to the usual fixes and improvements, the biggest
1962
+ change is that all branchings now must support branching
1963
+ descriptions. This also entails straightforward changes
1964
+ (simplifications) to search-related space operations and to the
1965
+ implementation of search engines.
1966
+
1967
+
1968
+ [ENTRY]
1969
+ Module: kernel
1970
+ What: new
1971
+ Rank: minor
1972
+ [DESCRIPTION]
1973
+ Added a macro GECODE_NEVER that assert that this command is never
1974
+ executed. This is preferred over assert(false) as it is used for
1975
+ optimization, if supported by a compiler (for example, Microsoft
1976
+ Visual C++).
1977
+
1978
+ [ENTRY]
1979
+ Module: int
1980
+ What: bug
1981
+ Rank: minor
1982
+ [DESCRIPTION]
1983
+ Fixed fixpoint detection bug in n-ary min and max propagators.
1984
+
1985
+ [ENTRY]
1986
+ Module: int
1987
+ What: bug
1988
+ Rank: minor
1989
+ [DESCRIPTION]
1990
+ Min and max propagators now correctly handle cases such as min(x,y)=x.
1991
+
1992
+ [ENTRY]
1993
+ Module: int
1994
+ What: removed
1995
+ Rank: minor
1996
+ [DESCRIPTION]
1997
+ Removed bounds-consistent propagation for count constraint (not worth
1998
+ the trouble, just use domain-consistent).
1999
+
2000
+ [ENTRY]
2001
+ Module: kernel
2002
+ What: change
2003
+ Rank: minor
2004
+ Thanks: Martin Mann
2005
+ [DESCRIPTION]
2006
+ The ViewValBranching class now passes the home space to all member
2007
+ functions used in selecting the view and the value.
2008
+
2009
+ [ENTRY]
2010
+ Module: set
2011
+ What: bug
2012
+ Rank: minor
2013
+ [DESCRIPTION]
2014
+ Fixed fixpoint detection for n-ary partition propagator.
2015
+
2016
+ [ENTRY]
2017
+ Module: set
2018
+ What: new
2019
+ Rank: major
2020
+ [DESCRIPTION]
2021
+ Added finite set projection propagators. They allow to propagate all
2022
+ finite set constraints expressible as finite set projectors, including
2023
+ negated and reified constraints.
2024
+
2025
+ [ENTRY]
2026
+ Module: support
2027
+ What: new
2028
+ Rank: minor
2029
+ [DESCRIPTION]
2030
+ Added simple class encapsulating a linear congruential pseudo-random
2031
+ number generator.
2032
+
2033
+ [ENTRY]
2034
+ Module: kernel
2035
+ What: change
2036
+ Rank: major
2037
+ [DESCRIPTION]
2038
+ The interface for branchings has changed considerably, reflecting
2039
+ the fact now that all branchings must support branching descriptions.
2040
+ This is also reflected in the Space::status operation which has its
2041
+ arguments reversed and corrected const qualifiers on its arguments.
2042
+ But the good news is that it is considerably simpler than before.
2043
+
2044
+ [ENTRY]
2045
+ Module: int
2046
+ What: bug
2047
+ Rank: minor
2048
+ [DESCRIPTION]
2049
+ Assignment branchings (that is, branchings with a single alternative)
2050
+ could possibly take the wrong values for assignment during recomputation.
2051
+
2052
+ [ENTRY]
2053
+ Module: kernel
2054
+ What: change
2055
+ Rank: major
2056
+ [DESCRIPTION]
2057
+ The status operation does not any longer accept an argument for
2058
+ the number of alternatives. The number of alternatives is now
2059
+ available from a branching description (where it is passed upon
2060
+ creation of the description). This reflects the fact that
2061
+ branching descriptions are mandatory now.
2062
+
2063
+ [ENTRY]
2064
+ Module: search
2065
+ What: bug
2066
+ Rank: major
2067
+ [DESCRIPTION]
2068
+ Fixed a serious bug where during recomputation the search stack
2069
+ was always inspected behind the last element: the reason why
2070
+ recomputation never crashed has been that stacks always keep one
2071
+ element extra for optimization. So, serious bug but looks as if
2072
+ no one stumbled over this...
2073
+
2074
+ [ENTRY]
2075
+ Module: kernel
2076
+ What: bug
2077
+ Rank: minor
2078
+ [DESCRIPTION]
2079
+ As Boolean variables can be derived from integer variables, the
2080
+ assumption that a not yet assigned Boolean variable can not be
2081
+ modified is wrong.
2082
+
2083
+ [ENTRY]
2084
+ Module: other
2085
+ What: documentation
2086
+ Rank: minor
2087
+ [DESCRIPTION]
2088
+ Generate one page per version released in changelog.
2089
+
2090
+ [ENTRY]
2091
+ Module: kernel
2092
+ What: change
2093
+ Rank: minor
2094
+ Bug: 41
2095
+ [DESCRIPTION]
2096
+ Change exceptions thrown by %Gecode to be compliant with C++
2097
+ exceptions.
2098
+
2099
+ [ENTRY]
2100
+ Module: other
2101
+ What: bug
2102
+ Rank: minor
2103
+ Bug: 42
2104
+ [DESCRIPTION]
2105
+ Renamed macros so as to avoid nameclashes (all macros start with
2106
+ GECODE_).
2107
+
2108
+ [ENTRY]
2109
+ Module: search
2110
+ What: bug
2111
+ Rank: minor
2112
+ [DESCRIPTION]
2113
+ Search engines now correctly count the number of propagation
2114
+ steps including propagation that occurs when adaptive
2115
+ recomputation creates additional clones.
2116
+
2117
+ [ENTRY]
2118
+ Module: search
2119
+ What: change
2120
+ Rank: major
2121
+ [DESCRIPTION]
2122
+ Branchings now must return branching descriptions and commit
2123
+ operations also insist on being provided with branching
2124
+ descriptions. This change reflects that batch recomputation is
2125
+ of vital importance for efficiency in %Gecode.
2126
+
2127
+ [ENTRY]
2128
+ Module: int
2129
+ What: performance
2130
+ Rank: major
2131
+ [DESCRIPTION]
2132
+ Make Boolean linear constraints with constant right hand sides
2133
+ more incremental using dynamic subscriptions (gives a 20-30% speedup).
2134
+
2135
+ [ENTRY]
2136
+ Module: minimodel
2137
+ What: performance
2138
+ Rank: minor
2139
+ [DESCRIPTION]
2140
+ Take advantage of specialized Boolean propagators in Boolean
2141
+ expressions and relations.
2142
+
2143
+ [ENTRY]
2144
+ Module: int
2145
+ What: performance
2146
+ Rank: minor
2147
+ [DESCRIPTION]
2148
+ Made n-ary Boolean conjunction and disjunction more incremental by
2149
+ using dynamic subscriptions.
2150
+
2151
+ [ENTRY]
2152
+ Module: int
2153
+ What: performance
2154
+ Rank: minor
2155
+ [DESCRIPTION]
2156
+ Provide special versions of Boolean propagators optimizing cases
2157
+ where n-ary disjunctions are true.
2158
+
2159
+ [ENTRY]
2160
+ Module: int
2161
+ What: performance
2162
+ Rank: minor
2163
+ [DESCRIPTION]
2164
+ Change implementation of Boolean propagators from conjunction
2165
+ to disjunction so that disjunction can be used as special case
2166
+ for Boolean sum with inequalities.
2167
+
2168
+
2169
+ [RELEASE]
2170
+ Version: 1.2.0
2171
+ Date: 2006-06-20
2172
+ [DESCRIPTION]
2173
+ This release makes quite some drastic changes to how propagators
2174
+ and branchings are deleted: instead of using destructors they use
2175
+ a dispose method that allows passing a home space during deletion
2176
+ (we will use this infrastructure measure to speed up cloning
2177
+ considerably a little later). Moreover the directory structure
2178
+ has changed on popular request so that all include files are to
2179
+ be found in a gecode subdirectory. Apart from that, some small
2180
+ fixes and extensions due to requests.
2181
+
2182
+ [ENTRY]
2183
+ Module: set
2184
+ What: bug
2185
+ Rank: minor
2186
+ Thanks: Luis Otero
2187
+ [DESCRIPTION]
2188
+ Fixed memory leak in finite set distinct propagator.
2189
+
2190
+ [ENTRY]
2191
+ Module: int
2192
+ What: bug
2193
+ Rank: minor
2194
+ [DESCRIPTION]
2195
+ Fixed memory leak in global cardinality constraint.
2196
+
2197
+ [ENTRY]
2198
+ Module: int
2199
+ What: bug
2200
+ Rank: minor
2201
+ Thanks: Martin Mann
2202
+ [DESCRIPTION]
2203
+ Fixed bug in equality tests that could lead to reified (dis)equality
2204
+ propagators not achieving domain consistency.
2205
+
2206
+ [ENTRY]
2207
+ Module: test
2208
+ What: new
2209
+ Rank: minor
2210
+ [DESCRIPTION]
2211
+ Added --enable-leak-debug configure option. This option causes the test suite
2212
+ to call mtrace() under Linux, which can be used to test for memory leaks.
2213
+
2214
+ [ENTRY]
2215
+ Module: kernel
2216
+ What: performance
2217
+ Rank: minor
2218
+ [DESCRIPTION]
2219
+ More aggressive inlining for canceling subscriptions.
2220
+
2221
+ [ENTRY]
2222
+ Module: search
2223
+ What: bug
2224
+ Rank: minor
2225
+ Bug: 39
2226
+ [DESCRIPTION]
2227
+ Fixed linkage of BAB destructor under Cygwin.
2228
+
2229
+ [ENTRY]
2230
+ Module: kernel
2231
+ What: change
2232
+ Rank: minor
2233
+ [DESCRIPTION]
2234
+ The branch member function for branchings now also takes a home space
2235
+ as argument.
2236
+
2237
+ [ENTRY]
2238
+ Module: kernel
2239
+ What: change
2240
+ Rank: major
2241
+ [DESCRIPTION]
2242
+ Canceling subscriptions on views and variable implementations now
2243
+ require also a home space (this has become possible due to not using
2244
+ destructors but ordinary "dispose" member functions).
2245
+
2246
+ [ENTRY]
2247
+ Module: kernel
2248
+ What: change
2249
+ Rank: major
2250
+ [DESCRIPTION]
2251
+ Actors (propagators and branchings) do not any longer use destructors
2252
+ but a "dispose" member function that takes a home space as argument
2253
+ and must return the size of the actor.
2254
+ Important: this requires that dispose member functions from super-classes
2255
+ and class members are called explicitly!
2256
+
2257
+ [ENTRY]
2258
+ Module: kernel
2259
+ What: new
2260
+ Rank: minor
2261
+ [DESCRIPTION]
2262
+ Spaces can be queried for number of propagators and branchings.
2263
+
2264
+ [ENTRY]
2265
+ Module: search
2266
+ What: new
2267
+ Rank: minor
2268
+ [DESCRIPTION]
2269
+ Search engines can now be checked whether they have been stopped.
2270
+
2271
+ [ENTRY]
2272
+ Module: int
2273
+ What: documentation
2274
+ Rank: minor
2275
+ Thanks: Martin Mann
2276
+ [DESCRIPTION]
2277
+ Fixed bug in description of PC_INT_DOM.
2278
+
2279
+ [ENTRY]
2280
+ Module: other
2281
+ What: change
2282
+ Rank: major
2283
+ Thanks: Martin Mann
2284
+ [DESCRIPTION]
2285
+ Moved library source code into gecode subdirectory. Facilitates cleaner
2286
+ installation. Programs compiling against %Gecode now need to include
2287
+ e.g. "gecode/int.hh".
2288
+
2289
+ [ENTRY]
2290
+ Module: example
2291
+ What: change
2292
+ Rank: minor
2293
+ [DESCRIPTION]
2294
+ Sudoku example generalized to arbitrarily sized Sudokus.
2295
+
2296
+ [RELEASE]
2297
+ Version: 1.1.0
2298
+ Date: 2006-04-10
2299
+ [DESCRIPTION]
2300
+ This minor release adds some new constraints (see below), adds support
2301
+ for stopping search engines based on definable criteria, and some other
2302
+ small fixes. Most notably, the test infrastructure has been extended to
2303
+ also check whether propagators correctly claim that they have computed
2304
+ a fixpoint (now all invariants a propagator must obey in %Gecode are covered
2305
+ by the test infrastructure). This has lead to many small fixes.
2306
+
2307
+ [ENTRY]
2308
+ Module: other
2309
+ What: bug
2310
+ Bug: 37
2311
+ Rank: minor
2312
+ Thanks: Kari Pahula
2313
+ [DESCRIPTION]
2314
+ Added a configure switch --enable-doc-dot. If enabled, this checks for
2315
+ presence of the dot tool (used for generating graphs in the documentation)
2316
+
2317
+ [ENTRY]
2318
+ Module: example
2319
+ What: new
2320
+ Rank: minor
2321
+ [DESCRIPTION]
2322
+ Added all-interval series using distinct.
2323
+
2324
+ [ENTRY]
2325
+ Module: minimodel
2326
+ What: new
2327
+ Rank: minor
2328
+ [DESCRIPTION]
2329
+ Added functions returning variables for arithmetic
2330
+ (min, max, abs, mult, plus, minus).
2331
+
2332
+ [ENTRY]
2333
+ Module: int
2334
+ What: change
2335
+ Rank: minor
2336
+ [DESCRIPTION]
2337
+ Support for shared views has been removed in
2338
+ sortedness propagator and in the propagator
2339
+ for global cardinality with fixed cardinalities.
2340
+
2341
+ [ENTRY]
2342
+ Module: int
2343
+ What: bug
2344
+ Rank: minor
2345
+ [DESCRIPTION]
2346
+ Fixed bug in fixpoint detection of sortedness and
2347
+ global cardinality propagator.
2348
+
2349
+ [ENTRY]
2350
+ Module: set
2351
+ What: bug
2352
+ Rank: minor
2353
+ Bug: 36
2354
+ Thanks: Javier Mena
2355
+ [DESCRIPTION]
2356
+ A non-debug version of %Gecode could not be linked to a program compiled with
2357
+ assertions switched on, as BndSet::isConsistent was missing from the library.
2358
+
2359
+ [ENTRY]
2360
+ Module: int
2361
+ What: change
2362
+ Rank: minor
2363
+ [DESCRIPTION]
2364
+ Staged propagation for domain-consistent absolute value propagator
2365
+
2366
+ [ENTRY]
2367
+ Module: int
2368
+ What: change
2369
+ Rank: minor
2370
+ [DESCRIPTION]
2371
+ EqBnd and EqDom now take two template parameters for their view types. This
2372
+ supports using different views, e.g. to express x0=-x1 using a MinusView.
2373
+
2374
+ [ENTRY]
2375
+ Module: search
2376
+ What: new
2377
+ Rank: major
2378
+ Thanks: Rafael Meneses
2379
+ [DESCRIPTION]
2380
+ Added functionality to interrupt search engines (introduced
2381
+ a Search::Stop class).
2382
+
2383
+ [ENTRY]
2384
+ Module: search
2385
+ What: change
2386
+ Rank: major
2387
+ [DESCRIPTION]
2388
+ Removed search engines optimizing for copying only (after
2389
+ all, one should always use some recomputation).
2390
+
2391
+ [ENTRY]
2392
+ Module: int
2393
+ What: bug
2394
+ Rank: minor
2395
+ [DESCRIPTION]
2396
+ Fixed bug in fixpoint detection of n-ary maximum/minimum
2397
+ propagator.
2398
+
2399
+ [ENTRY]
2400
+ Module: kernel
2401
+ What: change
2402
+ Rank: minor
2403
+ [DESCRIPTION]
2404
+ The status member function now also allows the first
2405
+ argument to be optional.
2406
+
2407
+ [ENTRY]
2408
+ Module: set
2409
+ What: bug
2410
+ Rank: minor
2411
+ [DESCRIPTION]
2412
+ Fixed bugs in fixpoint detection of several set propagators (match,
2413
+ convexity, sequence, n-ary (disjoint) union).
2414
+
2415
+ [ENTRY]
2416
+ Module: int
2417
+ What: bug
2418
+ Rank: minor
2419
+ [DESCRIPTION]
2420
+ Fixed bug in fixpoint detection of bounds-consistent
2421
+ element for variables propagator.
2422
+
2423
+ [ENTRY]
2424
+ Module: int
2425
+ What: bug
2426
+ Rank: minor
2427
+ [DESCRIPTION]
2428
+ Fixed bug in fixpoint detection of bounds-consistent squaring
2429
+ propagator (mult with the same variable twice).
2430
+
2431
+ [ENTRY]
2432
+ Module: int
2433
+ What: bug
2434
+ Rank: minor
2435
+ [DESCRIPTION]
2436
+ Fixed bug in fixpoint detection of bounds-consistent abs
2437
+ propagator.
2438
+
2439
+ [ENTRY]
2440
+ Module: int
2441
+ What: performance
2442
+ Rank: minor
2443
+ [DESCRIPTION]
2444
+ Rewrite n-ary linear, min/max, and Boolean propagators to binary/ternary
2445
+ variants during cloning if possible (saves memory).
2446
+
2447
+ [ENTRY]
2448
+ Module: int
2449
+ What: bug
2450
+ Rank: minor
2451
+ Thanks: Stefano Gualandi
2452
+ [DESCRIPTION]
2453
+ Fixed wrong assertion in gcc-bnd propagator.
2454
+
2455
+ [ENTRY]
2456
+ Module: int
2457
+ What: bug
2458
+ Rank: major
2459
+ Thanks: Jean-Christophe Godart
2460
+ [DESCRIPTION]
2461
+ Fixed indexing bug in SupportSet (part of the domain consistent linear
2462
+ equation propagator).
2463
+
2464
+ [ENTRY]
2465
+ Module: int
2466
+ What: new
2467
+ Rank: major
2468
+ [DESCRIPTION]
2469
+ Added new constraint channel for variable/value channeling
2470
+ between two variable arrays.
2471
+
2472
+ [ENTRY]
2473
+ Module: int
2474
+ What: change
2475
+ Rank: minor
2476
+ [DESCRIPTION]
2477
+ All distinct propagators raise an exception if a variable occurs
2478
+ multiply in its arguments.
2479
+
2480
+ [ENTRY]
2481
+ Module: set
2482
+ What: change
2483
+ Rank: major
2484
+ [DESCRIPTION]
2485
+ Renamed the set propagators minElement to min, maxElement to max,
2486
+ and channelVarVal to channel.
2487
+
2488
+ [ENTRY]
2489
+ Module: int
2490
+ What: performance
2491
+ Rank: major
2492
+ [DESCRIPTION]
2493
+ Improved initialization of domain-consistent distinct propagator,
2494
+ in common cases for distinct this can save up to 10% runtime.
2495
+
2496
+ [ENTRY]
2497
+ Module: set
2498
+ What: bug
2499
+ Rank: minor
2500
+ Thanks: Patrick Pekczynski
2501
+ [DESCRIPTION]
2502
+ Fixed off-by-one bug in SetVarImp::lubMinN and SetVarImp::lubMaxN.
2503
+
2504
+ [ENTRY]
2505
+ Module: minimodel
2506
+ What: bug
2507
+ Rank: minor
2508
+ Thanks: Olof Sivertsson
2509
+ [DESCRIPTION]
2510
+ (In-)Equations were still not correct with respect to the sign.
2511
+
2512
+ [ENTRY]
2513
+ Module: minimodel
2514
+ What: bug
2515
+ Rank: minor
2516
+ Bug: 33
2517
+ Thanks: Olof Sivertsson
2518
+ [DESCRIPTION]
2519
+ Slice-operation now returns elements in right order.
2520
+
2521
+ [ENTRY]
2522
+ Module: minimodel
2523
+ What: bug
2524
+ Rank: minor
2525
+ Bug: 32
2526
+ Thanks: Olof Sivertsson
2527
+ [DESCRIPTION]
2528
+ Possible array-out-of bounds access fixed for MiniModel::Matrix.
2529
+
2530
+ [ENTRY]
2531
+ Module: example
2532
+ What: performance
2533
+ Rank: minor
2534
+ [DESCRIPTION]
2535
+ Added redundant constraint to social golfers example.
2536
+
2537
+
2538
+
2539
+
2540
+ [RELEASE]
2541
+ Version: 1.0.1
2542
+ Date: 2006-03-01
2543
+ [DESCRIPTION]
2544
+ Maintenance release including some additions of domain-consistent
2545
+ propagators and a fix for a serious bug in reified linear
2546
+ inequalities.
2547
+
2548
+ [ENTRY]
2549
+ Module: search
2550
+ What: change
2551
+ Rank: minor
2552
+ [DESCRIPTION]
2553
+ Changed default copying recomputation distance to 8.
2554
+
2555
+ [ENTRY]
2556
+ Module: minimodel
2557
+ What: bug
2558
+ Rank: minor
2559
+ Thanks: Olof Sivertsson
2560
+ [DESCRIPTION]
2561
+ (In-)Equations with an int on the left hand side (like 9==x) were
2562
+ translated with a wrong sign (as -9==x).
2563
+
2564
+ [ENTRY]
2565
+ Module: other
2566
+ What: bug
2567
+ Rank: minor
2568
+ Bug: 31
2569
+ [DESCRIPTION]
2570
+ The preprocessor macro NDEBUG for disabling assertions is no longer
2571
+ put into config.icc. Without this fix, user programs could not use
2572
+ assert if %Gecode was compiled with NDEBUG.
2573
+
2574
+ [ENTRY]
2575
+ Module: minimodel
2576
+ What: new
2577
+ Rank: minor
2578
+ [DESCRIPTION]
2579
+ The post functions for linear expressions and relations also take
2580
+ an integer consistency level as optional argument.
2581
+
2582
+ [ENTRY]
2583
+ Module: int
2584
+ What: new
2585
+ Rank: major
2586
+ [DESCRIPTION]
2587
+ Added domain-consistent linear equalities.
2588
+
2589
+ [ENTRY]
2590
+ Module: int
2591
+ What: bug
2592
+ Rank: minor
2593
+ Bug: 30
2594
+ [DESCRIPTION]
2595
+ Fixed fixpoint detection for ternary min and max.
2596
+
2597
+ [ENTRY]
2598
+ Module: int
2599
+ What: bug
2600
+ Rank: minor
2601
+ [DESCRIPTION]
2602
+ Fixed subsumption detection for regular with multiple variable occurences.
2603
+
2604
+ [ENTRY]
2605
+ Module: int
2606
+ What: change
2607
+ Rank: minor
2608
+ [DESCRIPTION]
2609
+ Cost computation for sortedness has been changed from static to
2610
+ dynamic (taking into account the variable reduction the
2611
+ propagator can perform).
2612
+
2613
+ [ENTRY]
2614
+ Module: int
2615
+ What: change
2616
+ Rank: major
2617
+ [DESCRIPTION]
2618
+ Global cardinality changed to non-staged version. Further
2619
+ inference for cardinality variables added. Parts of the graph
2620
+ structure for the domain-consistent propagator have been revised
2621
+ so as to avoid unnecessary propagation in case of fixed
2622
+ cardinalities and to allow better staging for the
2623
+ propagator. Revision of propagation for fixed cardinalities has
2624
+ also been applied to bounds-consistent propagator.
2625
+
2626
+ [ENTRY]
2627
+ Module: int
2628
+ What: new
2629
+ Rank: major
2630
+ [DESCRIPTION]
2631
+ Added domain-consistent version of the absolute value propagator.
2632
+
2633
+ [ENTRY]
2634
+ Module: other
2635
+ What: performance
2636
+ Rank: major
2637
+ [DESCRIPTION]
2638
+ Switch assertions off in optimized builds with Microsoft's C++ compiler.
2639
+
2640
+ [ENTRY]
2641
+ Module: int
2642
+ What: bug
2643
+ Rank: major
2644
+ Bug: 29
2645
+ Thanks: Dominik Brill
2646
+ [DESCRIPTION]
2647
+ Fixed a very serious bug in the reified linear inequality propagator.
2648
+
2649
+ [ENTRY]
2650
+ Module: other
2651
+ What: bug
2652
+ Rank: minor
2653
+ Thanks: Filip Konvicka
2654
+ [DESCRIPTION]
2655
+ Removed some compiler warnings for the Microsoft compiler with -W3.
2656
+
2657
+ [ENTRY]
2658
+ Module: int
2659
+ What: bug
2660
+ Rank: major
2661
+ Bug: 27
2662
+ [DESCRIPTION]
2663
+ The strongly connected components represented by the permutation
2664
+ variables in the extended version of Sortedness has been fixed
2665
+ restoring bounds consistency on the permutation variables.
2666
+
2667
+ [ENTRY]
2668
+ Module: other
2669
+ What: change
2670
+ Rank: minor
2671
+ Bug: 24
2672
+ [DESCRIPTION]
2673
+ The soname for libraries on Linux is now set properly, as well as the
2674
+ version information on Darwin (Mac OS).
2675
+
2676
+ [ENTRY]
2677
+ Module: other
2678
+ What: change
2679
+ Rank: minor
2680
+ Bug: 25
2681
+ [DESCRIPTION]
2682
+ The build system has been updated to support building both static and
2683
+ shared libraries at the same time on Unix-like systems.
2684
+
2685
+ [ENTRY]
2686
+ Module: example
2687
+ What: change
2688
+ Rank: minor
2689
+ [DESCRIPTION]
2690
+ Examples now use per default the recomputation settings as
2691
+ defined in the search module.
2692
+
2693
+ [RELEASE]
2694
+ Version: 1.0.0
2695
+ Date: 2005-12-06
2696
+ [DESCRIPTION]
2697
+ Initial release.
2698
+