gecoder-with-gecode 0.9.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,295 @@
1
+ /* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */
2
+ /*
3
+ * Main authors:
4
+ * Christian Schulte <schulte@gecode.org>
5
+ *
6
+ * Copyright:
7
+ * Christian Schulte, 2008
8
+ *
9
+ * Last modified:
10
+ * $Date: 2008-02-29 01:09:17 +0100 (Fri, 29 Feb 2008) $ by $Author: schulte $
11
+ * $Revision: 6355 $
12
+ *
13
+ * This file is part of Gecode, the generic constraint
14
+ * development environment:
15
+ * http://www.gecode.org
16
+ *
17
+ * Permission is hereby granted, free of charge, to any person obtaining
18
+ * a copy of this software and associated documentation files (the
19
+ * "Software"), to deal in the Software without restriction, including
20
+ * without limitation the rights to use, copy, modify, merge, publish,
21
+ * distribute, sublicense, and/or sell copies of the Software, and to
22
+ * permit persons to whom the Software is furnished to do so, subject to
23
+ * the following conditions:
24
+ *
25
+ * The above copyright notice and this permission notice shall be
26
+ * included in all copies or substantial portions of the Software.
27
+ *
28
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
29
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
30
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
31
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
32
+ * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
33
+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
34
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
35
+ *
36
+ */
37
+
38
+ #include "test/int.hh"
39
+
40
+ #include "gecode/minimodel.hh"
41
+
42
+ namespace Test { namespace Int {
43
+
44
+ /// Tests for minimal modelling constraints (counting)
45
+ namespace MiniModelCount {
46
+
47
+ /// Expand relation to abbreviation
48
+ std::string expand(Gecode::IntRelType irt) {
49
+ switch (irt) {
50
+ case Gecode::IRT_EQ: return "Exactly";
51
+ case Gecode::IRT_LQ: return "AtMost";
52
+ case Gecode::IRT_GQ: return "AtLeast";
53
+ default: GECODE_NEVER;
54
+ }
55
+ GECODE_NEVER;
56
+ return "";
57
+ }
58
+
59
+ /**
60
+ * \defgroup TaskTestIntMiniModelCount Minimal modelling constraints (counting)
61
+ * \ingroup TaskTestInt
62
+ */
63
+ //@{
64
+ /// Test number of equal integers equal to integer
65
+ class IntInt : public Test {
66
+ protected:
67
+ /// Integer relation type to propagate
68
+ Gecode::IntRelType irt;
69
+ public:
70
+ /// Create and register test
71
+ IntInt(Gecode::IntRelType irt0)
72
+ : Test("MiniModel::"+expand(irt0)+"::Int::Int",4,-2,2), irt(irt0) {}
73
+ /// Test whether \a x is solution
74
+ virtual bool solution(const Assignment& x) const {
75
+ int m = 0;
76
+ for (int i=x.size(); i--; )
77
+ if (x[i] == 0)
78
+ m++;
79
+ return cmp(m,irt,2);
80
+ }
81
+ /// Post constraint on \a x
82
+ virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
83
+ switch (irt) {
84
+ case Gecode::IRT_EQ:
85
+ Gecode::exactly(home,x,0,2); break;
86
+ case Gecode::IRT_LQ:
87
+ Gecode::atmost(home,x,0,2); break;
88
+ case Gecode::IRT_GQ:
89
+ Gecode::atleast(home,x,0,2); break;
90
+ default: GECODE_NEVER;
91
+ }
92
+ }
93
+ };
94
+
95
+ /// Test number of equal integers equal to integer variable
96
+ class IntVar : public Test {
97
+ protected:
98
+ /// Integer relation type to propagate
99
+ Gecode::IntRelType irt;
100
+ public:
101
+ /// Create and register test
102
+ IntVar(Gecode::IntRelType irt0)
103
+ : Test("MiniModel::"+expand(irt0)+"::Int::Var",5,-2,2), irt(irt0) {}
104
+ /// Test whether \a x is solution
105
+ virtual bool solution(const Assignment& x) const {
106
+ int m = 0;
107
+ for (int i=0; i<4; i++)
108
+ if (x[i] == 0)
109
+ m++;
110
+ return cmp(m,irt,x[4]);
111
+ }
112
+ /// Post constraint on \a x
113
+ virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
114
+ Gecode::IntVarArgs y(4);
115
+ for (int i=0; i<4; i++)
116
+ y[i]=x[i];
117
+ switch (irt) {
118
+ case Gecode::IRT_EQ:
119
+ Gecode::exactly(home,y,0,x[4]); break;
120
+ case Gecode::IRT_LQ:
121
+ Gecode::atmost(home,y,0,x[4]); break;
122
+ case Gecode::IRT_GQ:
123
+ Gecode::atleast(home,y,0,x[4]); break;
124
+ default: GECODE_NEVER;
125
+ }
126
+ }
127
+ };
128
+
129
+ /// Test number of equal variables equal to integer variable
130
+ class VarVar : public Test {
131
+ protected:
132
+ /// Integer relation type to propagate
133
+ Gecode::IntRelType irt;
134
+ public:
135
+ /// Create and register test
136
+ VarVar(Gecode::IntRelType irt0)
137
+ : Test("MiniModel::"+expand(irt0)+"::Var::Var",5,-2,2), irt(irt0) {}
138
+ /// Test whether \a x is solution
139
+ virtual bool solution(const Assignment& x) const {
140
+ int m = 0;
141
+ for (int i=0; i<3; i++)
142
+ if (x[i] == x[3])
143
+ m++;
144
+ return cmp(m,irt,x[4]);
145
+ }
146
+ /// Post constraint on \a x
147
+ virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
148
+ Gecode::IntVarArgs y(3);
149
+ for (int i=0; i<3; i++)
150
+ y[i]=x[i];
151
+ switch (irt) {
152
+ case Gecode::IRT_EQ:
153
+ Gecode::exactly(home,y,x[3],x[4]); break;
154
+ case Gecode::IRT_LQ:
155
+ Gecode::atmost(home,y,x[3],x[4]); break;
156
+ case Gecode::IRT_GQ:
157
+ Gecode::atleast(home,y,x[3],x[4]); break;
158
+ default: GECODE_NEVER;
159
+ }
160
+ }
161
+ };
162
+
163
+ /// Test number of equal variables equal to integer
164
+ class VarInt : public Test {
165
+ protected:
166
+ /// Integer relation type to propagate
167
+ Gecode::IntRelType irt;
168
+ public:
169
+ /// Create and register test
170
+ VarInt(Gecode::IntRelType irt0)
171
+ : Test("MiniModel::"+expand(irt0)+"::Var::Int",4,-2,2), irt(irt0) {}
172
+ /// Test whether \a x is solution
173
+ virtual bool solution(const Assignment& x) const {
174
+ int m = 0;
175
+ for (int i=0; i<3; i++)
176
+ if (x[i] == x[3])
177
+ m++;
178
+ return cmp(m,irt,2);
179
+ }
180
+ /// Post constraint on \a x
181
+ virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
182
+ Gecode::IntVarArgs y(3);
183
+ for (int i=0; i<3; i++)
184
+ y[i]=x[i];
185
+ switch (irt) {
186
+ case Gecode::IRT_EQ:
187
+ Gecode::exactly(home,y,x[3],2); break;
188
+ case Gecode::IRT_LQ:
189
+ Gecode::atmost(home,y,x[3],2); break;
190
+ case Gecode::IRT_GQ:
191
+ Gecode::atleast(home,y,x[3],2); break;
192
+ default: GECODE_NEVER;
193
+ }
194
+ }
195
+ };
196
+
197
+ Gecode::IntArgs ints(4, 1,0,3,2);
198
+
199
+ /// Test number of several equal integers equal to integer
200
+ class IntArrayInt : public Test {
201
+ protected:
202
+ /// Integer relation type to propagate
203
+ Gecode::IntRelType irt;
204
+ public:
205
+ /// Create and register test
206
+ IntArrayInt(Gecode::IntRelType irt0)
207
+ : Test("MiniModel::"+expand(irt0)+"::IntArray::Int",5,-2,2),
208
+ irt(irt0) {}
209
+ /// Test whether \a x is solution
210
+ virtual bool solution(const Assignment& x) const {
211
+ int m = 0;
212
+ for (int i=0; i<4; i++)
213
+ if (x[i] == ints[i])
214
+ m++;
215
+ return cmp(m,irt,2);
216
+ }
217
+ /// Post constraint on \a x
218
+ virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
219
+ Gecode::IntVarArgs y(4);
220
+ for (int i=0; i<4; i++)
221
+ y[i]=x[i];
222
+ switch (irt) {
223
+ case Gecode::IRT_EQ:
224
+ Gecode::exactly(home,y,ints,2); break;
225
+ case Gecode::IRT_LQ:
226
+ Gecode::atmost(home,y,ints,2); break;
227
+ case Gecode::IRT_GQ:
228
+ Gecode::atleast(home,y,ints,2); break;
229
+ default: GECODE_NEVER;
230
+ }
231
+ }
232
+ };
233
+
234
+ /// Test number of several equal integers equal to integer variable
235
+ class IntArrayVar : public Test {
236
+ protected:
237
+ /// Integer relation type to propagate
238
+ Gecode::IntRelType irt;
239
+ public:
240
+ /// Create and register test
241
+ IntArrayVar(Gecode::IntRelType irt0)
242
+ : Test("MiniModel::"+expand(irt0)+"::IntArray::Var",5,-2,2),
243
+ irt(irt0) {}
244
+ /// Test whether \a x is solution
245
+ virtual bool solution(const Assignment& x) const {
246
+ int m = 0;
247
+ for (int i=0; i<4; i++)
248
+ if (x[i] == ints[i])
249
+ m++;
250
+ return cmp(m,irt,x[4]);
251
+ }
252
+ /// Post constraint on \a x
253
+ virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
254
+ Gecode::IntVarArgs y(4);
255
+ for (int i=0; i<4; i++)
256
+ y[i]=x[i];
257
+ switch (irt) {
258
+ case Gecode::IRT_EQ:
259
+ Gecode::exactly(home,y,ints,x[4]); break;
260
+ case Gecode::IRT_LQ:
261
+ Gecode::atmost(home,y,ints,x[4]); break;
262
+ case Gecode::IRT_GQ:
263
+ Gecode::atleast(home,y,ints,x[4]); break;
264
+ default: GECODE_NEVER;
265
+ }
266
+ }
267
+ };
268
+
269
+ /// Help class to create and register tests
270
+ class Create {
271
+ public:
272
+ /// Perform creation and registration
273
+ Create(void) {
274
+ for (IntRelTypes irts; irts(); ++irts)
275
+ if ((irts.irt() == Gecode::IRT_EQ) ||
276
+ (irts.irt() == Gecode::IRT_LQ) ||
277
+ (irts.irt() == Gecode::IRT_GQ)) {
278
+ (void) new IntInt(irts.irt());
279
+ (void) new IntVar(irts.irt());
280
+ (void) new VarVar(irts.irt());
281
+ (void) new VarInt(irts.irt());
282
+ (void) new IntArrayInt(irts.irt());
283
+ (void) new IntArrayVar(irts.irt());
284
+ }
285
+ }
286
+ };
287
+
288
+ Create c;
289
+ //@}
290
+
291
+ }
292
+
293
+ }}
294
+
295
+ // STATISTICS: test-minimodel
@@ -0,0 +1,2035 @@
1
+ /* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */
2
+ /*
3
+ * Main authors:
4
+ * Christian Schulte <schulte@gecode.org>
5
+ *
6
+ * Copyright:
7
+ * Christian Schulte, 2008
8
+ *
9
+ * Last modified:
10
+ * $Date: 2008-02-29 01:09:17 +0100 (Fri, 29 Feb 2008) $ by $Author: schulte $
11
+ * $Revision: 6355 $
12
+ *
13
+ * This file is part of Gecode, the generic constraint
14
+ * development environment:
15
+ * http://www.gecode.org
16
+ *
17
+ * Permission is hereby granted, free of charge, to any person obtaining
18
+ * a copy of this software and associated documentation files (the
19
+ * "Software"), to deal in the Software without restriction, including
20
+ * without limitation the rights to use, copy, modify, merge, publish,
21
+ * distribute, sublicense, and/or sell copies of the Software, and to
22
+ * permit persons to whom the Software is furnished to do so, subject to
23
+ * the following conditions:
24
+ *
25
+ * The above copyright notice and this permission notice shall be
26
+ * included in all copies or substantial portions of the Software.
27
+ *
28
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
29
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
30
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
31
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
32
+ * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
33
+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
34
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
35
+ *
36
+ */
37
+
38
+ #include "test/int.hh"
39
+
40
+ #include "gecode/minimodel.hh"
41
+
42
+ namespace Test { namespace Int {
43
+
44
+ /// Tests for minimal modelling constraints (linear)
45
+ namespace MiniModelLin {
46
+
47
+ /// Linear opcode
48
+ enum LinOpcode {
49
+ LO_ACE, ///< Add integer and expression
50
+ LO_AEC, ///< Add expression and integer
51
+ LO_AEE, ///< Add expressions
52
+ LO_SCE, ///< Subtract integer and expression
53
+ LO_SEC, ///< Subtract expression and integer
54
+ LO_SEE, ///< Subtract expressions
55
+ LO_SE, ///< Unary subtraction
56
+ LO_MCE, ///< Multiply constant and expression
57
+ LO_MEC, ///< Multiply constant and expression
58
+ LO_HLT ///< Stop execution
59
+ };
60
+
61
+ /// Type for representing a linear instruction
62
+ class LinInstr {
63
+ public:
64
+ LinOpcode o; ///< Which instruction to execute
65
+ unsigned char x, y, z; ///< Instruction arguments, \a y is destination (or \a z)
66
+ int c; ///< Numerical constant
67
+ };
68
+
69
+ /// Evaluate linear instructions
70
+ template <class Expr>
71
+ Expr
72
+ eval(const LinInstr* pc, Expr reg[]) {
73
+ while (true) {
74
+ switch (pc->o) {
75
+ case LO_ACE: reg[pc->y] = pc->c + reg[pc->x]; break;
76
+ case LO_AEC: reg[pc->y] = reg[pc->x] + pc->c; break;
77
+ case LO_AEE: reg[pc->z] = reg[pc->x] + reg[pc->y]; break;
78
+ case LO_SCE: reg[pc->y] = pc->c - reg[pc->x]; break;
79
+ case LO_SEC: reg[pc->y] = reg[pc->x] - pc->c; break;
80
+ case LO_SEE: reg[pc->z] = reg[pc->x] - reg[pc->y]; break;
81
+ case LO_SE: reg[pc->y] = -reg[pc->x]; break;
82
+ case LO_MCE: reg[pc->y] = pc->c * reg[pc->x]; break;
83
+ case LO_MEC: reg[pc->y] = reg[pc->x] * pc->c; break;
84
+ case LO_HLT: return reg[pc->x];
85
+ default: GECODE_NEVER;
86
+ }
87
+ pc++;
88
+ }
89
+ GECODE_NEVER;
90
+ }
91
+
92
+ /**
93
+ * \defgroup TaskTestIntMiniModelLin Minimal modelling constraints (linear constraints)
94
+ * \ingroup TaskTestInt
95
+ */
96
+ //@{
97
+ /// Test linear expressions over integer variables
98
+ class LinExprInt : public Test {
99
+ protected:
100
+ /// Linear instruction sequence
101
+ const LinInstr* lis;
102
+ public:
103
+ /// Create and register test
104
+ LinExprInt(const LinInstr* lis0, const std::string& s)
105
+ : Test("MiniModel::LinExpr::Int::"+s,4,-3,3), lis(lis0) {}
106
+ /// Test whether \a x is solution
107
+ virtual bool solution(const Assignment& x) const {
108
+ int reg[3] = {x[0],x[1],x[2]};
109
+ // std::cout << "eval: " << eval(lis, reg) << std::endl;
110
+ return eval(lis, reg) == x[3];
111
+ }
112
+ /// Post constraint on \a x
113
+ virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
114
+ using namespace Gecode;
115
+ Gecode::MiniModel::LinExpr<IntVar> reg[3] = {x[0],x[1],x[2]};
116
+ rel(home, x[3], IRT_EQ, Gecode::post(home, eval(lis,reg)));
117
+ }
118
+ };
119
+
120
+ /// Test linear relations over integer variables
121
+ class LinRelInt : public Test {
122
+ protected:
123
+ /// Linear instruction sequence for left hand side
124
+ const LinInstr* l_lis;
125
+ /// Linear instruction sequence for right hand side
126
+ const LinInstr* r_lis;
127
+ /// Integer relation type to propagate
128
+ Gecode::IntRelType irt;
129
+ public:
130
+ /// Create and register test
131
+ LinRelInt(const LinInstr* l_lis0, const LinInstr* r_lis0,
132
+ Gecode::IntRelType irt0, const std::string& s)
133
+ : Test("MiniModel::LinRel::Int::"+s+"::"+str(irt0),3,-3,3,true),
134
+ l_lis(l_lis0), r_lis(r_lis0), irt(irt0) {}
135
+ /// Test whether \a x is solution
136
+ virtual bool solution(const Assignment& x) const {
137
+ int l_reg[3] = {x[0],x[1],x[2]};
138
+ int r_reg[3] = {x[0],x[1],x[2]};
139
+ return cmp(eval(l_lis,l_reg),irt,eval(r_lis,r_reg));
140
+ }
141
+ /// Post constraint on \a x
142
+ virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
143
+ using namespace Gecode;
144
+ Gecode::MiniModel::LinExpr<IntVar> l_reg[3] = {x[0],x[1],x[2]};
145
+ Gecode::MiniModel::LinExpr<IntVar> r_reg[3] = {x[0],x[1],x[2]};
146
+ switch (irt) {
147
+ case IRT_EQ:
148
+ Gecode::post(home, tt(0 == eval(l_lis,l_reg) - eval(r_lis,r_reg)));
149
+ break;
150
+ case IRT_NQ:
151
+ Gecode::post(home, eval(l_lis,l_reg) - eval(r_lis,r_reg) != 0);
152
+ break;
153
+ case IRT_LQ:
154
+ Gecode::post(home, ff(eval(l_lis,l_reg) > eval(r_lis,r_reg)));
155
+ break;
156
+ case IRT_LE:
157
+ Gecode::post(home, tt(eval(l_lis,l_reg) < eval(r_lis,r_reg)));
158
+ break;
159
+ case IRT_GQ:
160
+ Gecode::post(home, eval(l_lis,l_reg) >= eval(r_lis,r_reg));
161
+ break;
162
+ case IRT_GR:
163
+ Gecode::post(home, ff(eval(l_lis,l_reg) <= eval(r_lis,r_reg)));
164
+ break;
165
+ default: GECODE_NEVER;
166
+ }
167
+ }
168
+ /// Post constraint on \a x for \a bb
169
+ virtual void post(Gecode::Space* home, Gecode::IntVarArray& x,
170
+ Gecode::BoolVar b) {
171
+ using namespace Gecode;
172
+ Gecode::MiniModel::LinExpr<IntVar> l_reg[3] = {x[0],x[1],x[2]};
173
+ Gecode::MiniModel::LinExpr<IntVar> r_reg[3] = {x[0],x[1],x[2]};
174
+ switch (irt) {
175
+ case IRT_EQ:
176
+ rel(home, Gecode::post(home,
177
+ ~(eval(l_lis,l_reg)==eval(r_lis,r_reg))),
178
+ IRT_EQ, b);
179
+ break;
180
+ case IRT_NQ:
181
+ Gecode::post(home,
182
+ tt(eqv(~(eval(l_lis,l_reg)!=eval(r_lis,r_reg)),b)));
183
+ break;
184
+ case IRT_LQ:
185
+ Gecode::post(home,
186
+ ff(~(eval(l_lis,l_reg)<=eval(r_lis,r_reg))^b));
187
+ break;
188
+ case IRT_LE:
189
+ rel(home, Gecode::post(home,
190
+ ~(eval(l_lis,l_reg)<eval(r_lis,r_reg))),
191
+ IRT_EQ, b);
192
+ break;
193
+ case IRT_GQ:
194
+ Gecode::post(home,
195
+ tt(eqv(~(eval(l_lis,l_reg)>=eval(r_lis,r_reg)),b)));
196
+ break;
197
+ case IRT_GR:
198
+ Gecode::post(home,
199
+ ff(~(eval(l_lis,l_reg)>eval(r_lis,r_reg))^b));
200
+ break;
201
+ default: GECODE_NEVER;
202
+ }
203
+ }
204
+ };
205
+
206
+ /// Test linear expressions over Boolean variables
207
+ class LinExprBool : public Test {
208
+ protected:
209
+ /// Linear instruction sequence
210
+ const LinInstr* lis;
211
+ public:
212
+ /// Create and register test
213
+ LinExprBool(const LinInstr* lis0, const std::string& s)
214
+ : Test("MiniModel::LinExpr::Bool::"+s,4,-3,3), lis(lis0) {}
215
+ /// Test whether \a x is solution
216
+ virtual bool solution(const Assignment& x) const {
217
+ for (int i=3; i--; )
218
+ if ((x[i] < 0) || (x[i] > 1))
219
+ return false;
220
+ int reg[3] = {x[0],x[1],x[2]};
221
+ return eval(lis, reg) == x[3];
222
+ }
223
+ /// Post constraint on \a x
224
+ virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
225
+ using namespace Gecode;
226
+ Gecode::MiniModel::LinExpr<BoolVar> reg[3] = {
227
+ channel(home,x[0]),channel(home,x[1]),channel(home,x[2])
228
+ };
229
+ rel(home, x[3], IRT_EQ, Gecode::post(home, eval(lis,reg)));
230
+ }
231
+ };
232
+
233
+ /// Test linear relations over Boolean variables
234
+ class LinRelBool : public Test {
235
+ protected:
236
+ /// Linear instruction sequence for left hand side
237
+ const LinInstr* l_lis;
238
+ /// Linear instruction sequence for right hand side
239
+ const LinInstr* r_lis;
240
+ /// Integer relation type to propagate
241
+ Gecode::IntRelType irt;
242
+ public:
243
+ /// Create and register test
244
+ LinRelBool(const LinInstr* l_lis0, const LinInstr* r_lis0,
245
+ Gecode::IntRelType irt0, const std::string& s)
246
+ : Test("MiniModel::LinRel::Bool::"+s+"::"+str(irt0),3,0,1,true),
247
+ l_lis(l_lis0), r_lis(r_lis0), irt(irt0) {}
248
+ /// Test whether \a x is solution
249
+ virtual bool solution(const Assignment& x) const {
250
+ int l_reg[3] = {x[0],x[1],x[2]};
251
+ int r_reg[3] = {x[0],x[1],x[2]};
252
+ return cmp(eval(l_lis,l_reg),irt,eval(r_lis,r_reg));
253
+ }
254
+ /// Post constraint on \a x
255
+ virtual void post(Gecode::Space* home, Gecode::IntVarArray& x) {
256
+ using namespace Gecode;
257
+ BoolVarArgs y(3);
258
+ y[0] = channel(home,x[0]); y[1] = channel(home,x[1]);
259
+ y[2] = channel(home,x[2]);
260
+ Gecode::MiniModel::LinExpr<BoolVar> l_reg[3] = {y[0],y[1],y[2]};
261
+ Gecode::MiniModel::LinExpr<BoolVar> r_reg[3] = {y[0],y[1],y[2]};
262
+ switch (irt) {
263
+ case IRT_EQ:
264
+ Gecode::post(home, tt(eval(l_lis,l_reg) - eval(r_lis,r_reg) == 0));
265
+ break;
266
+ case IRT_NQ:
267
+ Gecode::post(home, eval(l_lis,l_reg) - eval(r_lis,r_reg) != 0);
268
+ break;
269
+ case IRT_LQ:
270
+ Gecode::post(home, ff(eval(l_lis,l_reg) > eval(r_lis,r_reg)));
271
+ break;
272
+ case IRT_LE:
273
+ Gecode::post(home, tt(eval(l_lis,l_reg) < eval(r_lis,r_reg)));
274
+ break;
275
+ case IRT_GQ:
276
+ Gecode::post(home, eval(l_lis,l_reg) >= eval(r_lis,r_reg));
277
+ break;
278
+ case IRT_GR:
279
+ Gecode::post(home, ff(eval(l_lis,l_reg) <= eval(r_lis,r_reg)));
280
+ break;
281
+ default: GECODE_NEVER;
282
+ }
283
+ }
284
+ /// Post constraint on \a x for \a bb
285
+ virtual void post(Gecode::Space* home, Gecode::IntVarArray& x,
286
+ Gecode::BoolVar b) {
287
+ using namespace Gecode;
288
+ BoolVarArgs y(3);
289
+ y[0] = channel(home,x[0]); y[1] = channel(home,x[1]);
290
+ y[2] = channel(home,x[2]);
291
+ Gecode::MiniModel::LinExpr<BoolVar> l_reg[3] = {y[0],y[1],y[2]};
292
+ Gecode::MiniModel::LinExpr<BoolVar> r_reg[3] = {y[0],y[1],y[2]};
293
+ switch (irt) {
294
+ case IRT_EQ:
295
+ rel(home, Gecode::post(home,
296
+ ~(eval(l_lis,l_reg)==eval(r_lis,r_reg))),
297
+ IRT_EQ, b);
298
+ break;
299
+ case IRT_NQ:
300
+ Gecode::post(home,
301
+ tt(eqv(~(eval(l_lis,l_reg)!=eval(r_lis,r_reg)),b)));
302
+ break;
303
+ case IRT_LQ:
304
+ Gecode::post(home,
305
+ ff(~(eval(l_lis,l_reg)<=eval(r_lis,r_reg))^b));
306
+ break;
307
+ case IRT_LE:
308
+ rel(home, Gecode::post(home,
309
+ ~(eval(l_lis,l_reg)<eval(r_lis,r_reg))),
310
+ IRT_EQ, b);
311
+ break;
312
+ case IRT_GQ:
313
+ Gecode::post(home,
314
+ tt(eqv(~(eval(l_lis,l_reg)>=eval(r_lis,r_reg)),b)));
315
+ break;
316
+ case IRT_GR:
317
+ Gecode::post(home,
318
+ ff(~(eval(l_lis,l_reg)>eval(r_lis,r_reg))^b));
319
+ break;
320
+ default: GECODE_NEVER;
321
+ }
322
+ }
323
+ };
324
+
325
+ const LinInstr li000[] = {
326
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0,-2},{LO_AEE,0,2,0, 0},
327
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
328
+ };
329
+ const LinInstr li001[] = {
330
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0,-2},{LO_AEE,0,2,0, 0},
331
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
332
+ };
333
+ const LinInstr li002[] = {
334
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0,-2},{LO_AEE,0,2,0, 0},
335
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
336
+ };
337
+ const LinInstr li003[] = {
338
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0,-2},{LO_AEE,0,2,0, 0},
339
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
340
+ };
341
+ const LinInstr li004[] = {
342
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0,-2},{LO_SEE,0,2,0, 0},
343
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
344
+ };
345
+ const LinInstr li005[] = {
346
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0,-2},{LO_SEE,0,2,0, 0},
347
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
348
+ };
349
+ const LinInstr li006[] = {
350
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0,-2},{LO_SEE,0,2,0, 0},
351
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
352
+ };
353
+ const LinInstr li007[] = {
354
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0,-2},{LO_SEE,0,2,0, 0},
355
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
356
+ };
357
+ const LinInstr li008[] = {
358
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0,-1},{LO_AEE,0,2,0, 0},
359
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
360
+ };
361
+ const LinInstr li009[] = {
362
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0,-1},{LO_AEE,0,2,0, 0},
363
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
364
+ };
365
+ const LinInstr li010[] = {
366
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0,-1},{LO_AEE,0,2,0, 0},
367
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
368
+ };
369
+ const LinInstr li011[] = {
370
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0,-1},{LO_AEE,0,2,0, 0},
371
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
372
+ };
373
+ const LinInstr li012[] = {
374
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0,-1},{LO_SEE,0,2,0, 0},
375
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
376
+ };
377
+ const LinInstr li013[] = {
378
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0,-1},{LO_SEE,0,2,0, 0},
379
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
380
+ };
381
+ const LinInstr li014[] = {
382
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0,-1},{LO_SEE,0,2,0, 0},
383
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
384
+ };
385
+ const LinInstr li015[] = {
386
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0,-1},{LO_SEE,0,2,0, 0},
387
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
388
+ };
389
+ const LinInstr li016[] = {
390
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0, 0},{LO_AEE,0,2,0, 0},
391
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
392
+ };
393
+ const LinInstr li017[] = {
394
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0, 0},{LO_AEE,0,2,0, 0},
395
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
396
+ };
397
+ const LinInstr li018[] = {
398
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0, 0},{LO_AEE,0,2,0, 0},
399
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
400
+ };
401
+ const LinInstr li019[] = {
402
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0, 0},{LO_AEE,0,2,0, 0},
403
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
404
+ };
405
+ const LinInstr li020[] = {
406
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0, 0},{LO_SEE,0,2,0, 0},
407
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
408
+ };
409
+ const LinInstr li021[] = {
410
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0, 0},{LO_SEE,0,2,0, 0},
411
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
412
+ };
413
+ const LinInstr li022[] = {
414
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0, 0},{LO_SEE,0,2,0, 0},
415
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
416
+ };
417
+ const LinInstr li023[] = {
418
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0, 0},{LO_SEE,0,2,0, 0},
419
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
420
+ };
421
+ const LinInstr li024[] = {
422
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0, 1},{LO_AEE,0,2,0, 0},
423
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
424
+ };
425
+ const LinInstr li025[] = {
426
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0, 1},{LO_AEE,0,2,0, 0},
427
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
428
+ };
429
+ const LinInstr li026[] = {
430
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0, 1},{LO_AEE,0,2,0, 0},
431
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
432
+ };
433
+ const LinInstr li027[] = {
434
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0, 1},{LO_AEE,0,2,0, 0},
435
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
436
+ };
437
+ const LinInstr li028[] = {
438
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0, 1},{LO_SEE,0,2,0, 0},
439
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
440
+ };
441
+ const LinInstr li029[] = {
442
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0, 1},{LO_SEE,0,2,0, 0},
443
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
444
+ };
445
+ const LinInstr li030[] = {
446
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0, 1},{LO_SEE,0,2,0, 0},
447
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
448
+ };
449
+ const LinInstr li031[] = {
450
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0, 1},{LO_SEE,0,2,0, 0},
451
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
452
+ };
453
+ const LinInstr li032[] = {
454
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0, 2},{LO_AEE,0,2,0, 0},
455
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
456
+ };
457
+ const LinInstr li033[] = {
458
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0, 2},{LO_AEE,0,2,0, 0},
459
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
460
+ };
461
+ const LinInstr li034[] = {
462
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0, 2},{LO_AEE,0,2,0, 0},
463
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
464
+ };
465
+ const LinInstr li035[] = {
466
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0, 2},{LO_AEE,0,2,0, 0},
467
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
468
+ };
469
+ const LinInstr li036[] = {
470
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0, 2},{LO_SEE,0,2,0, 0},
471
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
472
+ };
473
+ const LinInstr li037[] = {
474
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0, 2},{LO_SEE,0,2,0, 0},
475
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
476
+ };
477
+ const LinInstr li038[] = {
478
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0, 2},{LO_SEE,0,2,0, 0},
479
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
480
+ };
481
+ const LinInstr li039[] = {
482
+ {LO_AEE,0,1,0, 0},{LO_AEC,0,0,0, 2},{LO_SEE,0,2,0, 0},
483
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
484
+ };
485
+ const LinInstr li040[] = {
486
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0,-2},{LO_AEE,0,2,0, 0},
487
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
488
+ };
489
+ const LinInstr li041[] = {
490
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0,-2},{LO_AEE,0,2,0, 0},
491
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
492
+ };
493
+ const LinInstr li042[] = {
494
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0,-2},{LO_AEE,0,2,0, 0},
495
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
496
+ };
497
+ const LinInstr li043[] = {
498
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0,-2},{LO_AEE,0,2,0, 0},
499
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
500
+ };
501
+ const LinInstr li044[] = {
502
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0,-2},{LO_SEE,0,2,0, 0},
503
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
504
+ };
505
+ const LinInstr li045[] = {
506
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0,-2},{LO_SEE,0,2,0, 0},
507
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
508
+ };
509
+ const LinInstr li046[] = {
510
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0,-2},{LO_SEE,0,2,0, 0},
511
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
512
+ };
513
+ const LinInstr li047[] = {
514
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0,-2},{LO_SEE,0,2,0, 0},
515
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
516
+ };
517
+ const LinInstr li048[] = {
518
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0,-1},{LO_AEE,0,2,0, 0},
519
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
520
+ };
521
+ const LinInstr li049[] = {
522
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0,-1},{LO_AEE,0,2,0, 0},
523
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
524
+ };
525
+ const LinInstr li050[] = {
526
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0,-1},{LO_AEE,0,2,0, 0},
527
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
528
+ };
529
+ const LinInstr li051[] = {
530
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0,-1},{LO_AEE,0,2,0, 0},
531
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
532
+ };
533
+ const LinInstr li052[] = {
534
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0,-1},{LO_SEE,0,2,0, 0},
535
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
536
+ };
537
+ const LinInstr li053[] = {
538
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0,-1},{LO_SEE,0,2,0, 0},
539
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
540
+ };
541
+ const LinInstr li054[] = {
542
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0,-1},{LO_SEE,0,2,0, 0},
543
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
544
+ };
545
+ const LinInstr li055[] = {
546
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0,-1},{LO_SEE,0,2,0, 0},
547
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
548
+ };
549
+ const LinInstr li056[] = {
550
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0, 0},{LO_AEE,0,2,0, 0},
551
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
552
+ };
553
+ const LinInstr li057[] = {
554
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0, 0},{LO_AEE,0,2,0, 0},
555
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
556
+ };
557
+ const LinInstr li058[] = {
558
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0, 0},{LO_AEE,0,2,0, 0},
559
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
560
+ };
561
+ const LinInstr li059[] = {
562
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0, 0},{LO_AEE,0,2,0, 0},
563
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
564
+ };
565
+ const LinInstr li060[] = {
566
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0, 0},{LO_SEE,0,2,0, 0},
567
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
568
+ };
569
+ const LinInstr li061[] = {
570
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0, 0},{LO_SEE,0,2,0, 0},
571
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
572
+ };
573
+ const LinInstr li062[] = {
574
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0, 0},{LO_SEE,0,2,0, 0},
575
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
576
+ };
577
+ const LinInstr li063[] = {
578
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0, 0},{LO_SEE,0,2,0, 0},
579
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
580
+ };
581
+ const LinInstr li064[] = {
582
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0, 1},{LO_AEE,0,2,0, 0},
583
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
584
+ };
585
+ const LinInstr li065[] = {
586
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0, 1},{LO_AEE,0,2,0, 0},
587
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
588
+ };
589
+ const LinInstr li066[] = {
590
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0, 1},{LO_AEE,0,2,0, 0},
591
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
592
+ };
593
+ const LinInstr li067[] = {
594
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0, 1},{LO_AEE,0,2,0, 0},
595
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
596
+ };
597
+ const LinInstr li068[] = {
598
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0, 1},{LO_SEE,0,2,0, 0},
599
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
600
+ };
601
+ const LinInstr li069[] = {
602
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0, 1},{LO_SEE,0,2,0, 0},
603
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
604
+ };
605
+ const LinInstr li070[] = {
606
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0, 1},{LO_SEE,0,2,0, 0},
607
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
608
+ };
609
+ const LinInstr li071[] = {
610
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0, 1},{LO_SEE,0,2,0, 0},
611
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
612
+ };
613
+ const LinInstr li072[] = {
614
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0, 2},{LO_AEE,0,2,0, 0},
615
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
616
+ };
617
+ const LinInstr li073[] = {
618
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0, 2},{LO_AEE,0,2,0, 0},
619
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
620
+ };
621
+ const LinInstr li074[] = {
622
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0, 2},{LO_AEE,0,2,0, 0},
623
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
624
+ };
625
+ const LinInstr li075[] = {
626
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0, 2},{LO_AEE,0,2,0, 0},
627
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
628
+ };
629
+ const LinInstr li076[] = {
630
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0, 2},{LO_SEE,0,2,0, 0},
631
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
632
+ };
633
+ const LinInstr li077[] = {
634
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0, 2},{LO_SEE,0,2,0, 0},
635
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
636
+ };
637
+ const LinInstr li078[] = {
638
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0, 2},{LO_SEE,0,2,0, 0},
639
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
640
+ };
641
+ const LinInstr li079[] = {
642
+ {LO_AEE,0,1,0, 0},{LO_SCE,0,0,0, 2},{LO_SEE,0,2,0, 0},
643
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
644
+ };
645
+ const LinInstr li080[] = {
646
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0,-2},{LO_AEE,0,2,0, 0},
647
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
648
+ };
649
+ const LinInstr li081[] = {
650
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0,-2},{LO_AEE,0,2,0, 0},
651
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
652
+ };
653
+ const LinInstr li082[] = {
654
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0,-2},{LO_AEE,0,2,0, 0},
655
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
656
+ };
657
+ const LinInstr li083[] = {
658
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0,-2},{LO_AEE,0,2,0, 0},
659
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
660
+ };
661
+ const LinInstr li084[] = {
662
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0,-2},{LO_SEE,0,2,0, 0},
663
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
664
+ };
665
+ const LinInstr li085[] = {
666
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0,-2},{LO_SEE,0,2,0, 0},
667
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
668
+ };
669
+ const LinInstr li086[] = {
670
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0,-2},{LO_SEE,0,2,0, 0},
671
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
672
+ };
673
+ const LinInstr li087[] = {
674
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0,-2},{LO_SEE,0,2,0, 0},
675
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
676
+ };
677
+ const LinInstr li088[] = {
678
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0,-1},{LO_AEE,0,2,0, 0},
679
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
680
+ };
681
+ const LinInstr li089[] = {
682
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0,-1},{LO_AEE,0,2,0, 0},
683
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
684
+ };
685
+ const LinInstr li090[] = {
686
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0,-1},{LO_AEE,0,2,0, 0},
687
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
688
+ };
689
+ const LinInstr li091[] = {
690
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0,-1},{LO_AEE,0,2,0, 0},
691
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
692
+ };
693
+ const LinInstr li092[] = {
694
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0,-1},{LO_SEE,0,2,0, 0},
695
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
696
+ };
697
+ const LinInstr li093[] = {
698
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0,-1},{LO_SEE,0,2,0, 0},
699
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
700
+ };
701
+ const LinInstr li094[] = {
702
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0,-1},{LO_SEE,0,2,0, 0},
703
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
704
+ };
705
+ const LinInstr li095[] = {
706
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0,-1},{LO_SEE,0,2,0, 0},
707
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
708
+ };
709
+ const LinInstr li096[] = {
710
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0, 0},{LO_AEE,0,2,0, 0},
711
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
712
+ };
713
+ const LinInstr li097[] = {
714
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0, 0},{LO_AEE,0,2,0, 0},
715
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
716
+ };
717
+ const LinInstr li098[] = {
718
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0, 0},{LO_AEE,0,2,0, 0},
719
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
720
+ };
721
+ const LinInstr li099[] = {
722
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0, 0},{LO_AEE,0,2,0, 0},
723
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
724
+ };
725
+ const LinInstr li100[] = {
726
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0, 0},{LO_SEE,0,2,0, 0},
727
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
728
+ };
729
+ const LinInstr li101[] = {
730
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0, 0},{LO_SEE,0,2,0, 0},
731
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
732
+ };
733
+ const LinInstr li102[] = {
734
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0, 0},{LO_SEE,0,2,0, 0},
735
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
736
+ };
737
+ const LinInstr li103[] = {
738
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0, 0},{LO_SEE,0,2,0, 0},
739
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
740
+ };
741
+ const LinInstr li104[] = {
742
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0, 1},{LO_AEE,0,2,0, 0},
743
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
744
+ };
745
+ const LinInstr li105[] = {
746
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0, 1},{LO_AEE,0,2,0, 0},
747
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
748
+ };
749
+ const LinInstr li106[] = {
750
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0, 1},{LO_AEE,0,2,0, 0},
751
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
752
+ };
753
+ const LinInstr li107[] = {
754
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0, 1},{LO_AEE,0,2,0, 0},
755
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
756
+ };
757
+ const LinInstr li108[] = {
758
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0, 1},{LO_SEE,0,2,0, 0},
759
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
760
+ };
761
+ const LinInstr li109[] = {
762
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0, 1},{LO_SEE,0,2,0, 0},
763
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
764
+ };
765
+ const LinInstr li110[] = {
766
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0, 1},{LO_SEE,0,2,0, 0},
767
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
768
+ };
769
+ const LinInstr li111[] = {
770
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0, 1},{LO_SEE,0,2,0, 0},
771
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
772
+ };
773
+ const LinInstr li112[] = {
774
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0, 2},{LO_AEE,0,2,0, 0},
775
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
776
+ };
777
+ const LinInstr li113[] = {
778
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0, 2},{LO_AEE,0,2,0, 0},
779
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
780
+ };
781
+ const LinInstr li114[] = {
782
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0, 2},{LO_AEE,0,2,0, 0},
783
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
784
+ };
785
+ const LinInstr li115[] = {
786
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0, 2},{LO_AEE,0,2,0, 0},
787
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
788
+ };
789
+ const LinInstr li116[] = {
790
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0, 2},{LO_SEE,0,2,0, 0},
791
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
792
+ };
793
+ const LinInstr li117[] = {
794
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0, 2},{LO_SEE,0,2,0, 0},
795
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
796
+ };
797
+ const LinInstr li118[] = {
798
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0, 2},{LO_SEE,0,2,0, 0},
799
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
800
+ };
801
+ const LinInstr li119[] = {
802
+ {LO_AEE,0,1,0, 0},{LO_SEC,0,0,0, 2},{LO_SEE,0,2,0, 0},
803
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
804
+ };
805
+ const LinInstr li120[] = {
806
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0,-2},{LO_AEE,0,2,0, 0},
807
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
808
+ };
809
+ const LinInstr li121[] = {
810
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0,-2},{LO_AEE,0,2,0, 0},
811
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
812
+ };
813
+ const LinInstr li122[] = {
814
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0,-2},{LO_AEE,0,2,0, 0},
815
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
816
+ };
817
+ const LinInstr li123[] = {
818
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0,-2},{LO_AEE,0,2,0, 0},
819
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
820
+ };
821
+ const LinInstr li124[] = {
822
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0,-2},{LO_SEE,0,2,0, 0},
823
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
824
+ };
825
+ const LinInstr li125[] = {
826
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0,-2},{LO_SEE,0,2,0, 0},
827
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
828
+ };
829
+ const LinInstr li126[] = {
830
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0,-2},{LO_SEE,0,2,0, 0},
831
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
832
+ };
833
+ const LinInstr li127[] = {
834
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0,-2},{LO_SEE,0,2,0, 0},
835
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
836
+ };
837
+ const LinInstr li128[] = {
838
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0,-1},{LO_AEE,0,2,0, 0},
839
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
840
+ };
841
+ const LinInstr li129[] = {
842
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0,-1},{LO_AEE,0,2,0, 0},
843
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
844
+ };
845
+ const LinInstr li130[] = {
846
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0,-1},{LO_AEE,0,2,0, 0},
847
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
848
+ };
849
+ const LinInstr li131[] = {
850
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0,-1},{LO_AEE,0,2,0, 0},
851
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
852
+ };
853
+ const LinInstr li132[] = {
854
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0,-1},{LO_SEE,0,2,0, 0},
855
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
856
+ };
857
+ const LinInstr li133[] = {
858
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0,-1},{LO_SEE,0,2,0, 0},
859
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
860
+ };
861
+ const LinInstr li134[] = {
862
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0,-1},{LO_SEE,0,2,0, 0},
863
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
864
+ };
865
+ const LinInstr li135[] = {
866
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0,-1},{LO_SEE,0,2,0, 0},
867
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
868
+ };
869
+ const LinInstr li136[] = {
870
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0, 0},{LO_AEE,0,2,0, 0},
871
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
872
+ };
873
+ const LinInstr li137[] = {
874
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0, 0},{LO_AEE,0,2,0, 0},
875
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
876
+ };
877
+ const LinInstr li138[] = {
878
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0, 0},{LO_AEE,0,2,0, 0},
879
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
880
+ };
881
+ const LinInstr li139[] = {
882
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0, 0},{LO_AEE,0,2,0, 0},
883
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
884
+ };
885
+ const LinInstr li140[] = {
886
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0, 0},{LO_SEE,0,2,0, 0},
887
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
888
+ };
889
+ const LinInstr li141[] = {
890
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0, 0},{LO_SEE,0,2,0, 0},
891
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
892
+ };
893
+ const LinInstr li142[] = {
894
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0, 0},{LO_SEE,0,2,0, 0},
895
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
896
+ };
897
+ const LinInstr li143[] = {
898
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0, 0},{LO_SEE,0,2,0, 0},
899
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
900
+ };
901
+ const LinInstr li144[] = {
902
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0, 1},{LO_AEE,0,2,0, 0},
903
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
904
+ };
905
+ const LinInstr li145[] = {
906
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0, 1},{LO_AEE,0,2,0, 0},
907
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
908
+ };
909
+ const LinInstr li146[] = {
910
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0, 1},{LO_AEE,0,2,0, 0},
911
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
912
+ };
913
+ const LinInstr li147[] = {
914
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0, 1},{LO_AEE,0,2,0, 0},
915
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
916
+ };
917
+ const LinInstr li148[] = {
918
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0, 1},{LO_SEE,0,2,0, 0},
919
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
920
+ };
921
+ const LinInstr li149[] = {
922
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0, 1},{LO_SEE,0,2,0, 0},
923
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
924
+ };
925
+ const LinInstr li150[] = {
926
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0, 1},{LO_SEE,0,2,0, 0},
927
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
928
+ };
929
+ const LinInstr li151[] = {
930
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0, 1},{LO_SEE,0,2,0, 0},
931
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
932
+ };
933
+ const LinInstr li152[] = {
934
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0, 2},{LO_AEE,0,2,0, 0},
935
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
936
+ };
937
+ const LinInstr li153[] = {
938
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0, 2},{LO_AEE,0,2,0, 0},
939
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
940
+ };
941
+ const LinInstr li154[] = {
942
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0, 2},{LO_AEE,0,2,0, 0},
943
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
944
+ };
945
+ const LinInstr li155[] = {
946
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0, 2},{LO_AEE,0,2,0, 0},
947
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
948
+ };
949
+ const LinInstr li156[] = {
950
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0, 2},{LO_SEE,0,2,0, 0},
951
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
952
+ };
953
+ const LinInstr li157[] = {
954
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0, 2},{LO_SEE,0,2,0, 0},
955
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
956
+ };
957
+ const LinInstr li158[] = {
958
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0, 2},{LO_SEE,0,2,0, 0},
959
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
960
+ };
961
+ const LinInstr li159[] = {
962
+ {LO_AEE,0,1,0, 0},{LO_MCE,0,0,0, 2},{LO_SEE,0,2,0, 0},
963
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
964
+ };
965
+ const LinInstr li160[] = {
966
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0,-2},{LO_AEE,0,2,0, 0},
967
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
968
+ };
969
+ const LinInstr li161[] = {
970
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0,-2},{LO_AEE,0,2,0, 0},
971
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
972
+ };
973
+ const LinInstr li162[] = {
974
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0,-2},{LO_AEE,0,2,0, 0},
975
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
976
+ };
977
+ const LinInstr li163[] = {
978
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0,-2},{LO_AEE,0,2,0, 0},
979
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
980
+ };
981
+ const LinInstr li164[] = {
982
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0,-2},{LO_SEE,0,2,0, 0},
983
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
984
+ };
985
+ const LinInstr li165[] = {
986
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0,-2},{LO_SEE,0,2,0, 0},
987
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
988
+ };
989
+ const LinInstr li166[] = {
990
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0,-2},{LO_SEE,0,2,0, 0},
991
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
992
+ };
993
+ const LinInstr li167[] = {
994
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0,-2},{LO_SEE,0,2,0, 0},
995
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
996
+ };
997
+ const LinInstr li168[] = {
998
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0,-1},{LO_AEE,0,2,0, 0},
999
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1000
+ };
1001
+ const LinInstr li169[] = {
1002
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0,-1},{LO_AEE,0,2,0, 0},
1003
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1004
+ };
1005
+ const LinInstr li170[] = {
1006
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0,-1},{LO_AEE,0,2,0, 0},
1007
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1008
+ };
1009
+ const LinInstr li171[] = {
1010
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0,-1},{LO_AEE,0,2,0, 0},
1011
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1012
+ };
1013
+ const LinInstr li172[] = {
1014
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0,-1},{LO_SEE,0,2,0, 0},
1015
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1016
+ };
1017
+ const LinInstr li173[] = {
1018
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0,-1},{LO_SEE,0,2,0, 0},
1019
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1020
+ };
1021
+ const LinInstr li174[] = {
1022
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0,-1},{LO_SEE,0,2,0, 0},
1023
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1024
+ };
1025
+ const LinInstr li175[] = {
1026
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0,-1},{LO_SEE,0,2,0, 0},
1027
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1028
+ };
1029
+ const LinInstr li176[] = {
1030
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0, 0},{LO_AEE,0,2,0, 0},
1031
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1032
+ };
1033
+ const LinInstr li177[] = {
1034
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0, 0},{LO_AEE,0,2,0, 0},
1035
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1036
+ };
1037
+ const LinInstr li178[] = {
1038
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0, 0},{LO_AEE,0,2,0, 0},
1039
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1040
+ };
1041
+ const LinInstr li179[] = {
1042
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0, 0},{LO_AEE,0,2,0, 0},
1043
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1044
+ };
1045
+ const LinInstr li180[] = {
1046
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0, 0},{LO_SEE,0,2,0, 0},
1047
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1048
+ };
1049
+ const LinInstr li181[] = {
1050
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0, 0},{LO_SEE,0,2,0, 0},
1051
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1052
+ };
1053
+ const LinInstr li182[] = {
1054
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0, 0},{LO_SEE,0,2,0, 0},
1055
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1056
+ };
1057
+ const LinInstr li183[] = {
1058
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0, 0},{LO_SEE,0,2,0, 0},
1059
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1060
+ };
1061
+ const LinInstr li184[] = {
1062
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0, 1},{LO_AEE,0,2,0, 0},
1063
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1064
+ };
1065
+ const LinInstr li185[] = {
1066
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0, 1},{LO_AEE,0,2,0, 0},
1067
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1068
+ };
1069
+ const LinInstr li186[] = {
1070
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0, 1},{LO_AEE,0,2,0, 0},
1071
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1072
+ };
1073
+ const LinInstr li187[] = {
1074
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0, 1},{LO_AEE,0,2,0, 0},
1075
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1076
+ };
1077
+ const LinInstr li188[] = {
1078
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0, 1},{LO_SEE,0,2,0, 0},
1079
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1080
+ };
1081
+ const LinInstr li189[] = {
1082
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0, 1},{LO_SEE,0,2,0, 0},
1083
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1084
+ };
1085
+ const LinInstr li190[] = {
1086
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0, 1},{LO_SEE,0,2,0, 0},
1087
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1088
+ };
1089
+ const LinInstr li191[] = {
1090
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0, 1},{LO_SEE,0,2,0, 0},
1091
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1092
+ };
1093
+ const LinInstr li192[] = {
1094
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0, 2},{LO_AEE,0,2,0, 0},
1095
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1096
+ };
1097
+ const LinInstr li193[] = {
1098
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0, 2},{LO_AEE,0,2,0, 0},
1099
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1100
+ };
1101
+ const LinInstr li194[] = {
1102
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0, 2},{LO_AEE,0,2,0, 0},
1103
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1104
+ };
1105
+ const LinInstr li195[] = {
1106
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0, 2},{LO_AEE,0,2,0, 0},
1107
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1108
+ };
1109
+ const LinInstr li196[] = {
1110
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0, 2},{LO_SEE,0,2,0, 0},
1111
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1112
+ };
1113
+ const LinInstr li197[] = {
1114
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0, 2},{LO_SEE,0,2,0, 0},
1115
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1116
+ };
1117
+ const LinInstr li198[] = {
1118
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0, 2},{LO_SEE,0,2,0, 0},
1119
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1120
+ };
1121
+ const LinInstr li199[] = {
1122
+ {LO_AEE,0,1,0, 0},{LO_MEC,0,0,0, 2},{LO_SEE,0,2,0, 0},
1123
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1124
+ };
1125
+ const LinInstr li200[] = {
1126
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0,-2},{LO_AEE,0,2,0, 0},
1127
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1128
+ };
1129
+ const LinInstr li201[] = {
1130
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0,-2},{LO_AEE,0,2,0, 0},
1131
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1132
+ };
1133
+ const LinInstr li202[] = {
1134
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0,-2},{LO_AEE,0,2,0, 0},
1135
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1136
+ };
1137
+ const LinInstr li203[] = {
1138
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0,-2},{LO_AEE,0,2,0, 0},
1139
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1140
+ };
1141
+ const LinInstr li204[] = {
1142
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0,-2},{LO_SEE,0,2,0, 0},
1143
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1144
+ };
1145
+ const LinInstr li205[] = {
1146
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0,-2},{LO_SEE,0,2,0, 0},
1147
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1148
+ };
1149
+ const LinInstr li206[] = {
1150
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0,-2},{LO_SEE,0,2,0, 0},
1151
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1152
+ };
1153
+ const LinInstr li207[] = {
1154
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0,-2},{LO_SEE,0,2,0, 0},
1155
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1156
+ };
1157
+ const LinInstr li208[] = {
1158
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0,-1},{LO_AEE,0,2,0, 0},
1159
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1160
+ };
1161
+ const LinInstr li209[] = {
1162
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0,-1},{LO_AEE,0,2,0, 0},
1163
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1164
+ };
1165
+ const LinInstr li210[] = {
1166
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0,-1},{LO_AEE,0,2,0, 0},
1167
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1168
+ };
1169
+ const LinInstr li211[] = {
1170
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0,-1},{LO_AEE,0,2,0, 0},
1171
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1172
+ };
1173
+ const LinInstr li212[] = {
1174
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0,-1},{LO_SEE,0,2,0, 0},
1175
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1176
+ };
1177
+ const LinInstr li213[] = {
1178
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0,-1},{LO_SEE,0,2,0, 0},
1179
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1180
+ };
1181
+ const LinInstr li214[] = {
1182
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0,-1},{LO_SEE,0,2,0, 0},
1183
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1184
+ };
1185
+ const LinInstr li215[] = {
1186
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0,-1},{LO_SEE,0,2,0, 0},
1187
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1188
+ };
1189
+ const LinInstr li216[] = {
1190
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0, 0},{LO_AEE,0,2,0, 0},
1191
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1192
+ };
1193
+ const LinInstr li217[] = {
1194
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0, 0},{LO_AEE,0,2,0, 0},
1195
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1196
+ };
1197
+ const LinInstr li218[] = {
1198
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0, 0},{LO_AEE,0,2,0, 0},
1199
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1200
+ };
1201
+ const LinInstr li219[] = {
1202
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0, 0},{LO_AEE,0,2,0, 0},
1203
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1204
+ };
1205
+ const LinInstr li220[] = {
1206
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0, 0},{LO_SEE,0,2,0, 0},
1207
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1208
+ };
1209
+ const LinInstr li221[] = {
1210
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0, 0},{LO_SEE,0,2,0, 0},
1211
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1212
+ };
1213
+ const LinInstr li222[] = {
1214
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0, 0},{LO_SEE,0,2,0, 0},
1215
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1216
+ };
1217
+ const LinInstr li223[] = {
1218
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0, 0},{LO_SEE,0,2,0, 0},
1219
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1220
+ };
1221
+ const LinInstr li224[] = {
1222
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0, 1},{LO_AEE,0,2,0, 0},
1223
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1224
+ };
1225
+ const LinInstr li225[] = {
1226
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0, 1},{LO_AEE,0,2,0, 0},
1227
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1228
+ };
1229
+ const LinInstr li226[] = {
1230
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0, 1},{LO_AEE,0,2,0, 0},
1231
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1232
+ };
1233
+ const LinInstr li227[] = {
1234
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0, 1},{LO_AEE,0,2,0, 0},
1235
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1236
+ };
1237
+ const LinInstr li228[] = {
1238
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0, 1},{LO_SEE,0,2,0, 0},
1239
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1240
+ };
1241
+ const LinInstr li229[] = {
1242
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0, 1},{LO_SEE,0,2,0, 0},
1243
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1244
+ };
1245
+ const LinInstr li230[] = {
1246
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0, 1},{LO_SEE,0,2,0, 0},
1247
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1248
+ };
1249
+ const LinInstr li231[] = {
1250
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0, 1},{LO_SEE,0,2,0, 0},
1251
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1252
+ };
1253
+ const LinInstr li232[] = {
1254
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0, 2},{LO_AEE,0,2,0, 0},
1255
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1256
+ };
1257
+ const LinInstr li233[] = {
1258
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0, 2},{LO_AEE,0,2,0, 0},
1259
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1260
+ };
1261
+ const LinInstr li234[] = {
1262
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0, 2},{LO_AEE,0,2,0, 0},
1263
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1264
+ };
1265
+ const LinInstr li235[] = {
1266
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0, 2},{LO_AEE,0,2,0, 0},
1267
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1268
+ };
1269
+ const LinInstr li236[] = {
1270
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0, 2},{LO_SEE,0,2,0, 0},
1271
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1272
+ };
1273
+ const LinInstr li237[] = {
1274
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0, 2},{LO_SEE,0,2,0, 0},
1275
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1276
+ };
1277
+ const LinInstr li238[] = {
1278
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0, 2},{LO_SEE,0,2,0, 0},
1279
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1280
+ };
1281
+ const LinInstr li239[] = {
1282
+ {LO_SEE,0,1,0, 0},{LO_AEC,0,0,0, 2},{LO_SEE,0,2,0, 0},
1283
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1284
+ };
1285
+ const LinInstr li240[] = {
1286
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0,-2},{LO_AEE,0,2,0, 0},
1287
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1288
+ };
1289
+ const LinInstr li241[] = {
1290
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0,-2},{LO_AEE,0,2,0, 0},
1291
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1292
+ };
1293
+ const LinInstr li242[] = {
1294
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0,-2},{LO_AEE,0,2,0, 0},
1295
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1296
+ };
1297
+ const LinInstr li243[] = {
1298
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0,-2},{LO_AEE,0,2,0, 0},
1299
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1300
+ };
1301
+ const LinInstr li244[] = {
1302
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0,-2},{LO_SEE,0,2,0, 0},
1303
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1304
+ };
1305
+ const LinInstr li245[] = {
1306
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0,-2},{LO_SEE,0,2,0, 0},
1307
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1308
+ };
1309
+ const LinInstr li246[] = {
1310
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0,-2},{LO_SEE,0,2,0, 0},
1311
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1312
+ };
1313
+ const LinInstr li247[] = {
1314
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0,-2},{LO_SEE,0,2,0, 0},
1315
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1316
+ };
1317
+ const LinInstr li248[] = {
1318
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0,-1},{LO_AEE,0,2,0, 0},
1319
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1320
+ };
1321
+ const LinInstr li249[] = {
1322
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0,-1},{LO_AEE,0,2,0, 0},
1323
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1324
+ };
1325
+ const LinInstr li250[] = {
1326
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0,-1},{LO_AEE,0,2,0, 0},
1327
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1328
+ };
1329
+ const LinInstr li251[] = {
1330
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0,-1},{LO_AEE,0,2,0, 0},
1331
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1332
+ };
1333
+ const LinInstr li252[] = {
1334
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0,-1},{LO_SEE,0,2,0, 0},
1335
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1336
+ };
1337
+ const LinInstr li253[] = {
1338
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0,-1},{LO_SEE,0,2,0, 0},
1339
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1340
+ };
1341
+ const LinInstr li254[] = {
1342
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0,-1},{LO_SEE,0,2,0, 0},
1343
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1344
+ };
1345
+ const LinInstr li255[] = {
1346
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0,-1},{LO_SEE,0,2,0, 0},
1347
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1348
+ };
1349
+ const LinInstr li256[] = {
1350
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0, 0},{LO_AEE,0,2,0, 0},
1351
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1352
+ };
1353
+ const LinInstr li257[] = {
1354
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0, 0},{LO_AEE,0,2,0, 0},
1355
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1356
+ };
1357
+ const LinInstr li258[] = {
1358
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0, 0},{LO_AEE,0,2,0, 0},
1359
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1360
+ };
1361
+ const LinInstr li259[] = {
1362
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0, 0},{LO_AEE,0,2,0, 0},
1363
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1364
+ };
1365
+ const LinInstr li260[] = {
1366
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0, 0},{LO_SEE,0,2,0, 0},
1367
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1368
+ };
1369
+ const LinInstr li261[] = {
1370
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0, 0},{LO_SEE,0,2,0, 0},
1371
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1372
+ };
1373
+ const LinInstr li262[] = {
1374
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0, 0},{LO_SEE,0,2,0, 0},
1375
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1376
+ };
1377
+ const LinInstr li263[] = {
1378
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0, 0},{LO_SEE,0,2,0, 0},
1379
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1380
+ };
1381
+ const LinInstr li264[] = {
1382
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0, 1},{LO_AEE,0,2,0, 0},
1383
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1384
+ };
1385
+ const LinInstr li265[] = {
1386
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0, 1},{LO_AEE,0,2,0, 0},
1387
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1388
+ };
1389
+ const LinInstr li266[] = {
1390
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0, 1},{LO_AEE,0,2,0, 0},
1391
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1392
+ };
1393
+ const LinInstr li267[] = {
1394
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0, 1},{LO_AEE,0,2,0, 0},
1395
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1396
+ };
1397
+ const LinInstr li268[] = {
1398
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0, 1},{LO_SEE,0,2,0, 0},
1399
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1400
+ };
1401
+ const LinInstr li269[] = {
1402
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0, 1},{LO_SEE,0,2,0, 0},
1403
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1404
+ };
1405
+ const LinInstr li270[] = {
1406
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0, 1},{LO_SEE,0,2,0, 0},
1407
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1408
+ };
1409
+ const LinInstr li271[] = {
1410
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0, 1},{LO_SEE,0,2,0, 0},
1411
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1412
+ };
1413
+ const LinInstr li272[] = {
1414
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0, 2},{LO_AEE,0,2,0, 0},
1415
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1416
+ };
1417
+ const LinInstr li273[] = {
1418
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0, 2},{LO_AEE,0,2,0, 0},
1419
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1420
+ };
1421
+ const LinInstr li274[] = {
1422
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0, 2},{LO_AEE,0,2,0, 0},
1423
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1424
+ };
1425
+ const LinInstr li275[] = {
1426
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0, 2},{LO_AEE,0,2,0, 0},
1427
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1428
+ };
1429
+ const LinInstr li276[] = {
1430
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0, 2},{LO_SEE,0,2,0, 0},
1431
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1432
+ };
1433
+ const LinInstr li277[] = {
1434
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0, 2},{LO_SEE,0,2,0, 0},
1435
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1436
+ };
1437
+ const LinInstr li278[] = {
1438
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0, 2},{LO_SEE,0,2,0, 0},
1439
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1440
+ };
1441
+ const LinInstr li279[] = {
1442
+ {LO_SEE,0,1,0, 0},{LO_SCE,0,0,0, 2},{LO_SEE,0,2,0, 0},
1443
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1444
+ };
1445
+ const LinInstr li280[] = {
1446
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0,-2},{LO_AEE,0,2,0, 0},
1447
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1448
+ };
1449
+ const LinInstr li281[] = {
1450
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0,-2},{LO_AEE,0,2,0, 0},
1451
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1452
+ };
1453
+ const LinInstr li282[] = {
1454
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0,-2},{LO_AEE,0,2,0, 0},
1455
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1456
+ };
1457
+ const LinInstr li283[] = {
1458
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0,-2},{LO_AEE,0,2,0, 0},
1459
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1460
+ };
1461
+ const LinInstr li284[] = {
1462
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0,-2},{LO_SEE,0,2,0, 0},
1463
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1464
+ };
1465
+ const LinInstr li285[] = {
1466
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0,-2},{LO_SEE,0,2,0, 0},
1467
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1468
+ };
1469
+ const LinInstr li286[] = {
1470
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0,-2},{LO_SEE,0,2,0, 0},
1471
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1472
+ };
1473
+ const LinInstr li287[] = {
1474
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0,-2},{LO_SEE,0,2,0, 0},
1475
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1476
+ };
1477
+ const LinInstr li288[] = {
1478
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0,-1},{LO_AEE,0,2,0, 0},
1479
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1480
+ };
1481
+ const LinInstr li289[] = {
1482
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0,-1},{LO_AEE,0,2,0, 0},
1483
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1484
+ };
1485
+ const LinInstr li290[] = {
1486
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0,-1},{LO_AEE,0,2,0, 0},
1487
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1488
+ };
1489
+ const LinInstr li291[] = {
1490
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0,-1},{LO_AEE,0,2,0, 0},
1491
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1492
+ };
1493
+ const LinInstr li292[] = {
1494
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0,-1},{LO_SEE,0,2,0, 0},
1495
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1496
+ };
1497
+ const LinInstr li293[] = {
1498
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0,-1},{LO_SEE,0,2,0, 0},
1499
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1500
+ };
1501
+ const LinInstr li294[] = {
1502
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0,-1},{LO_SEE,0,2,0, 0},
1503
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1504
+ };
1505
+ const LinInstr li295[] = {
1506
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0,-1},{LO_SEE,0,2,0, 0},
1507
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1508
+ };
1509
+ const LinInstr li296[] = {
1510
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0, 0},{LO_AEE,0,2,0, 0},
1511
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1512
+ };
1513
+ const LinInstr li297[] = {
1514
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0, 0},{LO_AEE,0,2,0, 0},
1515
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1516
+ };
1517
+ const LinInstr li298[] = {
1518
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0, 0},{LO_AEE,0,2,0, 0},
1519
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1520
+ };
1521
+ const LinInstr li299[] = {
1522
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0, 0},{LO_AEE,0,2,0, 0},
1523
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1524
+ };
1525
+ const LinInstr li300[] = {
1526
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0, 0},{LO_SEE,0,2,0, 0},
1527
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1528
+ };
1529
+ const LinInstr li301[] = {
1530
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0, 0},{LO_SEE,0,2,0, 0},
1531
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1532
+ };
1533
+ const LinInstr li302[] = {
1534
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0, 0},{LO_SEE,0,2,0, 0},
1535
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1536
+ };
1537
+ const LinInstr li303[] = {
1538
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0, 0},{LO_SEE,0,2,0, 0},
1539
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1540
+ };
1541
+ const LinInstr li304[] = {
1542
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0, 1},{LO_AEE,0,2,0, 0},
1543
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1544
+ };
1545
+ const LinInstr li305[] = {
1546
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0, 1},{LO_AEE,0,2,0, 0},
1547
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1548
+ };
1549
+ const LinInstr li306[] = {
1550
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0, 1},{LO_AEE,0,2,0, 0},
1551
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1552
+ };
1553
+ const LinInstr li307[] = {
1554
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0, 1},{LO_AEE,0,2,0, 0},
1555
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1556
+ };
1557
+ const LinInstr li308[] = {
1558
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0, 1},{LO_SEE,0,2,0, 0},
1559
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1560
+ };
1561
+ const LinInstr li309[] = {
1562
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0, 1},{LO_SEE,0,2,0, 0},
1563
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1564
+ };
1565
+ const LinInstr li310[] = {
1566
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0, 1},{LO_SEE,0,2,0, 0},
1567
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1568
+ };
1569
+ const LinInstr li311[] = {
1570
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0, 1},{LO_SEE,0,2,0, 0},
1571
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1572
+ };
1573
+ const LinInstr li312[] = {
1574
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0, 2},{LO_AEE,0,2,0, 0},
1575
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1576
+ };
1577
+ const LinInstr li313[] = {
1578
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0, 2},{LO_AEE,0,2,0, 0},
1579
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1580
+ };
1581
+ const LinInstr li314[] = {
1582
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0, 2},{LO_AEE,0,2,0, 0},
1583
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1584
+ };
1585
+ const LinInstr li315[] = {
1586
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0, 2},{LO_AEE,0,2,0, 0},
1587
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1588
+ };
1589
+ const LinInstr li316[] = {
1590
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0, 2},{LO_SEE,0,2,0, 0},
1591
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1592
+ };
1593
+ const LinInstr li317[] = {
1594
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0, 2},{LO_SEE,0,2,0, 0},
1595
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1596
+ };
1597
+ const LinInstr li318[] = {
1598
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0, 2},{LO_SEE,0,2,0, 0},
1599
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1600
+ };
1601
+ const LinInstr li319[] = {
1602
+ {LO_SEE,0,1,0, 0},{LO_SEC,0,0,0, 2},{LO_SEE,0,2,0, 0},
1603
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1604
+ };
1605
+ const LinInstr li320[] = {
1606
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0,-2},{LO_AEE,0,2,0, 0},
1607
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1608
+ };
1609
+ const LinInstr li321[] = {
1610
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0,-2},{LO_AEE,0,2,0, 0},
1611
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1612
+ };
1613
+ const LinInstr li322[] = {
1614
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0,-2},{LO_AEE,0,2,0, 0},
1615
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1616
+ };
1617
+ const LinInstr li323[] = {
1618
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0,-2},{LO_AEE,0,2,0, 0},
1619
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1620
+ };
1621
+ const LinInstr li324[] = {
1622
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0,-2},{LO_SEE,0,2,0, 0},
1623
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1624
+ };
1625
+ const LinInstr li325[] = {
1626
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0,-2},{LO_SEE,0,2,0, 0},
1627
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1628
+ };
1629
+ const LinInstr li326[] = {
1630
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0,-2},{LO_SEE,0,2,0, 0},
1631
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1632
+ };
1633
+ const LinInstr li327[] = {
1634
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0,-2},{LO_SEE,0,2,0, 0},
1635
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1636
+ };
1637
+ const LinInstr li328[] = {
1638
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0,-1},{LO_AEE,0,2,0, 0},
1639
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1640
+ };
1641
+ const LinInstr li329[] = {
1642
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0,-1},{LO_AEE,0,2,0, 0},
1643
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1644
+ };
1645
+ const LinInstr li330[] = {
1646
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0,-1},{LO_AEE,0,2,0, 0},
1647
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1648
+ };
1649
+ const LinInstr li331[] = {
1650
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0,-1},{LO_AEE,0,2,0, 0},
1651
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1652
+ };
1653
+ const LinInstr li332[] = {
1654
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0,-1},{LO_SEE,0,2,0, 0},
1655
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1656
+ };
1657
+ const LinInstr li333[] = {
1658
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0,-1},{LO_SEE,0,2,0, 0},
1659
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1660
+ };
1661
+ const LinInstr li334[] = {
1662
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0,-1},{LO_SEE,0,2,0, 0},
1663
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1664
+ };
1665
+ const LinInstr li335[] = {
1666
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0,-1},{LO_SEE,0,2,0, 0},
1667
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1668
+ };
1669
+ const LinInstr li336[] = {
1670
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0, 0},{LO_AEE,0,2,0, 0},
1671
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1672
+ };
1673
+ const LinInstr li337[] = {
1674
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0, 0},{LO_AEE,0,2,0, 0},
1675
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1676
+ };
1677
+ const LinInstr li338[] = {
1678
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0, 0},{LO_AEE,0,2,0, 0},
1679
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1680
+ };
1681
+ const LinInstr li339[] = {
1682
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0, 0},{LO_AEE,0,2,0, 0},
1683
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1684
+ };
1685
+ const LinInstr li340[] = {
1686
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0, 0},{LO_SEE,0,2,0, 0},
1687
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1688
+ };
1689
+ const LinInstr li341[] = {
1690
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0, 0},{LO_SEE,0,2,0, 0},
1691
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1692
+ };
1693
+ const LinInstr li342[] = {
1694
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0, 0},{LO_SEE,0,2,0, 0},
1695
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1696
+ };
1697
+ const LinInstr li343[] = {
1698
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0, 0},{LO_SEE,0,2,0, 0},
1699
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1700
+ };
1701
+ const LinInstr li344[] = {
1702
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0, 1},{LO_AEE,0,2,0, 0},
1703
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1704
+ };
1705
+ const LinInstr li345[] = {
1706
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0, 1},{LO_AEE,0,2,0, 0},
1707
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1708
+ };
1709
+ const LinInstr li346[] = {
1710
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0, 1},{LO_AEE,0,2,0, 0},
1711
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1712
+ };
1713
+ const LinInstr li347[] = {
1714
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0, 1},{LO_AEE,0,2,0, 0},
1715
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1716
+ };
1717
+ const LinInstr li348[] = {
1718
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0, 1},{LO_SEE,0,2,0, 0},
1719
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1720
+ };
1721
+ const LinInstr li349[] = {
1722
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0, 1},{LO_SEE,0,2,0, 0},
1723
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1724
+ };
1725
+ const LinInstr li350[] = {
1726
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0, 1},{LO_SEE,0,2,0, 0},
1727
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1728
+ };
1729
+ const LinInstr li351[] = {
1730
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0, 1},{LO_SEE,0,2,0, 0},
1731
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1732
+ };
1733
+ const LinInstr li352[] = {
1734
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0, 2},{LO_AEE,0,2,0, 0},
1735
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1736
+ };
1737
+ const LinInstr li353[] = {
1738
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0, 2},{LO_AEE,0,2,0, 0},
1739
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1740
+ };
1741
+ const LinInstr li354[] = {
1742
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0, 2},{LO_AEE,0,2,0, 0},
1743
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1744
+ };
1745
+ const LinInstr li355[] = {
1746
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0, 2},{LO_AEE,0,2,0, 0},
1747
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1748
+ };
1749
+ const LinInstr li356[] = {
1750
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0, 2},{LO_SEE,0,2,0, 0},
1751
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1752
+ };
1753
+ const LinInstr li357[] = {
1754
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0, 2},{LO_SEE,0,2,0, 0},
1755
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1756
+ };
1757
+ const LinInstr li358[] = {
1758
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0, 2},{LO_SEE,0,2,0, 0},
1759
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1760
+ };
1761
+ const LinInstr li359[] = {
1762
+ {LO_SEE,0,1,0, 0},{LO_MCE,0,0,0, 2},{LO_SEE,0,2,0, 0},
1763
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1764
+ };
1765
+ const LinInstr li360[] = {
1766
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0,-2},{LO_AEE,0,2,0, 0},
1767
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1768
+ };
1769
+ const LinInstr li361[] = {
1770
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0,-2},{LO_AEE,0,2,0, 0},
1771
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1772
+ };
1773
+ const LinInstr li362[] = {
1774
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0,-2},{LO_AEE,0,2,0, 0},
1775
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1776
+ };
1777
+ const LinInstr li363[] = {
1778
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0,-2},{LO_AEE,0,2,0, 0},
1779
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1780
+ };
1781
+ const LinInstr li364[] = {
1782
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0,-2},{LO_SEE,0,2,0, 0},
1783
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1784
+ };
1785
+ const LinInstr li365[] = {
1786
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0,-2},{LO_SEE,0,2,0, 0},
1787
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1788
+ };
1789
+ const LinInstr li366[] = {
1790
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0,-2},{LO_SEE,0,2,0, 0},
1791
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1792
+ };
1793
+ const LinInstr li367[] = {
1794
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0,-2},{LO_SEE,0,2,0, 0},
1795
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1796
+ };
1797
+ const LinInstr li368[] = {
1798
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0,-1},{LO_AEE,0,2,0, 0},
1799
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1800
+ };
1801
+ const LinInstr li369[] = {
1802
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0,-1},{LO_AEE,0,2,0, 0},
1803
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1804
+ };
1805
+ const LinInstr li370[] = {
1806
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0,-1},{LO_AEE,0,2,0, 0},
1807
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1808
+ };
1809
+ const LinInstr li371[] = {
1810
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0,-1},{LO_AEE,0,2,0, 0},
1811
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1812
+ };
1813
+ const LinInstr li372[] = {
1814
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0,-1},{LO_SEE,0,2,0, 0},
1815
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1816
+ };
1817
+ const LinInstr li373[] = {
1818
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0,-1},{LO_SEE,0,2,0, 0},
1819
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1820
+ };
1821
+ const LinInstr li374[] = {
1822
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0,-1},{LO_SEE,0,2,0, 0},
1823
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1824
+ };
1825
+ const LinInstr li375[] = {
1826
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0,-1},{LO_SEE,0,2,0, 0},
1827
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1828
+ };
1829
+ const LinInstr li376[] = {
1830
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0, 0},{LO_AEE,0,2,0, 0},
1831
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1832
+ };
1833
+ const LinInstr li377[] = {
1834
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0, 0},{LO_AEE,0,2,0, 0},
1835
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1836
+ };
1837
+ const LinInstr li378[] = {
1838
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0, 0},{LO_AEE,0,2,0, 0},
1839
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1840
+ };
1841
+ const LinInstr li379[] = {
1842
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0, 0},{LO_AEE,0,2,0, 0},
1843
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1844
+ };
1845
+ const LinInstr li380[] = {
1846
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0, 0},{LO_SEE,0,2,0, 0},
1847
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1848
+ };
1849
+ const LinInstr li381[] = {
1850
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0, 0},{LO_SEE,0,2,0, 0},
1851
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1852
+ };
1853
+ const LinInstr li382[] = {
1854
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0, 0},{LO_SEE,0,2,0, 0},
1855
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1856
+ };
1857
+ const LinInstr li383[] = {
1858
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0, 0},{LO_SEE,0,2,0, 0},
1859
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1860
+ };
1861
+ const LinInstr li384[] = {
1862
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0, 1},{LO_AEE,0,2,0, 0},
1863
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1864
+ };
1865
+ const LinInstr li385[] = {
1866
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0, 1},{LO_AEE,0,2,0, 0},
1867
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1868
+ };
1869
+ const LinInstr li386[] = {
1870
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0, 1},{LO_AEE,0,2,0, 0},
1871
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1872
+ };
1873
+ const LinInstr li387[] = {
1874
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0, 1},{LO_AEE,0,2,0, 0},
1875
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1876
+ };
1877
+ const LinInstr li388[] = {
1878
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0, 1},{LO_SEE,0,2,0, 0},
1879
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1880
+ };
1881
+ const LinInstr li389[] = {
1882
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0, 1},{LO_SEE,0,2,0, 0},
1883
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1884
+ };
1885
+ const LinInstr li390[] = {
1886
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0, 1},{LO_SEE,0,2,0, 0},
1887
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1888
+ };
1889
+ const LinInstr li391[] = {
1890
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0, 1},{LO_SEE,0,2,0, 0},
1891
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1892
+ };
1893
+ const LinInstr li392[] = {
1894
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0, 2},{LO_AEE,0,2,0, 0},
1895
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1896
+ };
1897
+ const LinInstr li393[] = {
1898
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0, 2},{LO_AEE,0,2,0, 0},
1899
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1900
+ };
1901
+ const LinInstr li394[] = {
1902
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0, 2},{LO_AEE,0,2,0, 0},
1903
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1904
+ };
1905
+ const LinInstr li395[] = {
1906
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0, 2},{LO_AEE,0,2,0, 0},
1907
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1908
+ };
1909
+ const LinInstr li396[] = {
1910
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0, 2},{LO_SEE,0,2,0, 0},
1911
+ {LO_ACE,0,0,0,-1},{LO_HLT,0,0,0, 0}
1912
+ };
1913
+ const LinInstr li397[] = {
1914
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0, 2},{LO_SEE,0,2,0, 0},
1915
+ {LO_ACE,0,0,0, 1},{LO_HLT,0,0,0, 0}
1916
+ };
1917
+ const LinInstr li398[] = {
1918
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0, 2},{LO_SEE,0,2,0, 0},
1919
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1920
+ };
1921
+ const LinInstr li399[] = {
1922
+ {LO_SEE,0,1,0, 0},{LO_MEC,0,0,0, 2},{LO_SEE,0,2,0, 0},
1923
+ {LO_SE ,0,0,0, 0},{LO_HLT,0,0,0, 0}
1924
+ };
1925
+
1926
+ const LinInstr* li[] = {
1927
+ &li000[0],&li001[0],&li002[0],&li003[0],&li004[0],&li005[0],
1928
+ &li006[0],&li007[0],&li008[0],&li009[0],&li010[0],&li011[0],
1929
+ &li012[0],&li013[0],&li014[0],&li015[0],&li016[0],&li017[0],
1930
+ &li018[0],&li019[0],&li020[0],&li021[0],&li022[0],&li023[0],
1931
+ &li024[0],&li025[0],&li026[0],&li027[0],&li028[0],&li029[0],
1932
+ &li030[0],&li031[0],&li032[0],&li033[0],&li034[0],&li035[0],
1933
+ &li036[0],&li037[0],&li038[0],&li039[0],&li040[0],&li041[0],
1934
+ &li042[0],&li043[0],&li044[0],&li045[0],&li046[0],&li047[0],
1935
+ &li048[0],&li049[0],&li050[0],&li051[0],&li052[0],&li053[0],
1936
+ &li054[0],&li055[0],&li056[0],&li057[0],&li058[0],&li059[0],
1937
+ &li060[0],&li061[0],&li062[0],&li063[0],&li064[0],&li065[0],
1938
+ &li066[0],&li067[0],&li068[0],&li069[0],&li070[0],&li071[0],
1939
+ &li072[0],&li073[0],&li074[0],&li075[0],&li076[0],&li077[0],
1940
+ &li078[0],&li079[0],&li080[0],&li081[0],&li082[0],&li083[0],
1941
+ &li084[0],&li085[0],&li086[0],&li087[0],&li088[0],&li089[0],
1942
+ &li090[0],&li091[0],&li092[0],&li093[0],&li094[0],&li095[0],
1943
+ &li096[0],&li097[0],&li098[0],&li099[0],&li100[0],&li101[0],
1944
+ &li102[0],&li103[0],&li104[0],&li105[0],&li106[0],&li107[0],
1945
+ &li108[0],&li109[0],&li110[0],&li111[0],&li112[0],&li113[0],
1946
+ &li114[0],&li115[0],&li116[0],&li117[0],&li118[0],&li119[0],
1947
+ &li120[0],&li121[0],&li122[0],&li123[0],&li124[0],&li125[0],
1948
+ &li126[0],&li127[0],&li128[0],&li129[0],&li130[0],&li131[0],
1949
+ &li132[0],&li133[0],&li134[0],&li135[0],&li136[0],&li137[0],
1950
+ &li138[0],&li139[0],&li140[0],&li141[0],&li142[0],&li143[0],
1951
+ &li144[0],&li145[0],&li146[0],&li147[0],&li148[0],&li149[0],
1952
+ &li150[0],&li151[0],&li152[0],&li153[0],&li154[0],&li155[0],
1953
+ &li156[0],&li157[0],&li158[0],&li159[0],&li160[0],&li161[0],
1954
+ &li162[0],&li163[0],&li164[0],&li165[0],&li166[0],&li167[0],
1955
+ &li168[0],&li169[0],&li170[0],&li171[0],&li172[0],&li173[0],
1956
+ &li174[0],&li175[0],&li176[0],&li177[0],&li178[0],&li179[0],
1957
+ &li180[0],&li181[0],&li182[0],&li183[0],&li184[0],&li185[0],
1958
+ &li186[0],&li187[0],&li188[0],&li189[0],&li190[0],&li191[0],
1959
+ &li192[0],&li193[0],&li194[0],&li195[0],&li196[0],&li197[0],
1960
+ &li198[0],&li199[0],&li200[0],&li201[0],&li202[0],&li203[0],
1961
+ &li204[0],&li205[0],&li206[0],&li207[0],&li208[0],&li209[0],
1962
+ &li210[0],&li211[0],&li212[0],&li213[0],&li214[0],&li215[0],
1963
+ &li216[0],&li217[0],&li218[0],&li219[0],&li220[0],&li221[0],
1964
+ &li222[0],&li223[0],&li224[0],&li225[0],&li226[0],&li227[0],
1965
+ &li228[0],&li229[0],&li230[0],&li231[0],&li232[0],&li233[0],
1966
+ &li234[0],&li235[0],&li236[0],&li237[0],&li238[0],&li239[0],
1967
+ &li240[0],&li241[0],&li242[0],&li243[0],&li244[0],&li245[0],
1968
+ &li246[0],&li247[0],&li248[0],&li249[0],&li250[0],&li251[0],
1969
+ &li252[0],&li253[0],&li254[0],&li255[0],&li256[0],&li257[0],
1970
+ &li258[0],&li259[0],&li260[0],&li261[0],&li262[0],&li263[0],
1971
+ &li264[0],&li265[0],&li266[0],&li267[0],&li268[0],&li269[0],
1972
+ &li270[0],&li271[0],&li272[0],&li273[0],&li274[0],&li275[0],
1973
+ &li276[0],&li277[0],&li278[0],&li279[0],&li280[0],&li281[0],
1974
+ &li282[0],&li283[0],&li284[0],&li285[0],&li286[0],&li287[0],
1975
+ &li288[0],&li289[0],&li290[0],&li291[0],&li292[0],&li293[0],
1976
+ &li294[0],&li295[0],&li296[0],&li297[0],&li298[0],&li299[0],
1977
+ &li300[0],&li301[0],&li302[0],&li303[0],&li304[0],&li305[0],
1978
+ &li306[0],&li307[0],&li308[0],&li309[0],&li310[0],&li311[0],
1979
+ &li312[0],&li313[0],&li314[0],&li315[0],&li316[0],&li317[0],
1980
+ &li318[0],&li319[0],&li320[0],&li321[0],&li322[0],&li323[0],
1981
+ &li324[0],&li325[0],&li326[0],&li327[0],&li328[0],&li329[0],
1982
+ &li330[0],&li331[0],&li332[0],&li333[0],&li334[0],&li335[0],
1983
+ &li336[0],&li337[0],&li338[0],&li339[0],&li340[0],&li341[0],
1984
+ &li342[0],&li343[0],&li344[0],&li345[0],&li346[0],&li347[0],
1985
+ &li348[0],&li349[0],&li350[0],&li351[0],&li352[0],&li353[0],
1986
+ &li354[0],&li355[0],&li356[0],&li357[0],&li358[0],&li359[0],
1987
+ &li360[0],&li361[0],&li362[0],&li363[0],&li364[0],&li365[0],
1988
+ &li366[0],&li367[0],&li368[0],&li369[0],&li370[0],&li371[0],
1989
+ &li372[0],&li373[0],&li374[0],&li375[0],&li376[0],&li377[0],
1990
+ &li378[0],&li379[0],&li380[0],&li381[0],&li382[0],&li383[0],
1991
+ &li384[0],&li385[0],&li386[0],&li387[0],&li388[0],&li389[0],
1992
+ &li390[0],&li391[0],&li392[0],&li393[0],&li394[0],&li395[0],
1993
+ &li396[0],&li397[0],&li398[0],&li399[0],
1994
+ };
1995
+
1996
+ /// Help class to create and register tests
1997
+ class Create {
1998
+ public:
1999
+ /// Perform creation and registration
2000
+ Create(void) {
2001
+ int n = sizeof(li)/sizeof(LinInstr*);
2002
+ for (int i=0; i<n; i++) {
2003
+ std::string s = Test::str(i);
2004
+ if (i < 10) {
2005
+ s = "00" + s;
2006
+ } else if (i < 100) {
2007
+ s = "0" + s;
2008
+ }
2009
+ (void) new LinExprInt(li[i],s);
2010
+ (void) new LinExprBool(li[i],s);
2011
+ }
2012
+ IntRelTypes irts;
2013
+ for (int i=0; i<n/2; i++) {
2014
+ std::string s = Test::str(i);
2015
+ if (i < 10) {
2016
+ s = "00" + s;
2017
+ } else if (i < 100) {
2018
+ s = "0" + s;
2019
+ }
2020
+ (void) new LinRelInt(li[2*i],li[2*i+1],irts.irt(),s);
2021
+ (void) new LinRelBool(li[2*i],li[2*i+1],irts.irt(),s);
2022
+ ++irts;
2023
+ if (!irts())
2024
+ irts.reset();
2025
+ }
2026
+ }
2027
+ };
2028
+
2029
+ Create c;
2030
+ //@}
2031
+ }
2032
+
2033
+ }}
2034
+
2035
+ // STATISTICS: test-minimodel