ConstraintSolver 0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (155) hide show
  1. data/bin/ConstraintSolver +24 -0
  2. data/doc/classes/Array.html +209 -0
  3. data/doc/classes/ConstraintSolver.html +242 -0
  4. data/doc/classes/ConstraintSolver/AbstractConstraint.html +317 -0
  5. data/doc/classes/ConstraintSolver/AllDifferentConstraint.html +451 -0
  6. data/doc/classes/ConstraintSolver/AllDifferentConstraintTest.html +397 -0
  7. data/doc/classes/ConstraintSolver/BinaryConstraint.html +483 -0
  8. data/doc/classes/ConstraintSolver/BinaryConstraintTest.html +367 -0
  9. data/doc/classes/ConstraintSolver/BinaryRelation.html +276 -0
  10. data/doc/classes/ConstraintSolver/BinaryRelationTest.html +194 -0
  11. data/doc/classes/ConstraintSolver/ConstraintList.html +208 -0
  12. data/doc/classes/ConstraintSolver/ConstraintListTest.html +252 -0
  13. data/doc/classes/ConstraintSolver/ConstraintSolver.html +353 -0
  14. data/doc/classes/ConstraintSolver/ConstraintSolverTest.html +403 -0
  15. data/doc/classes/ConstraintSolver/Domain.html +522 -0
  16. data/doc/classes/ConstraintSolver/DomainTest.html +356 -0
  17. data/doc/classes/ConstraintSolver/DomainWipeoutException.html +158 -0
  18. data/doc/classes/ConstraintSolver/Problem.html +239 -0
  19. data/doc/classes/ConstraintSolver/ProblemTest.html +227 -0
  20. data/doc/classes/ConstraintSolver/Solution.html +342 -0
  21. data/doc/classes/ConstraintSolver/SolutionTest.html +250 -0
  22. data/doc/classes/ConstraintSolver/UndoStackEmptyException.html +158 -0
  23. data/doc/classes/ConstraintSolver/Variable.html +418 -0
  24. data/doc/classes/ConstraintSolver/VariableTest.html +284 -0
  25. data/doc/classes/ExtensionsTest.html +233 -0
  26. data/doc/classes/Fixnum.html +153 -0
  27. data/doc/created.rid +1 -0
  28. data/doc/dot/f_0.dot +38 -0
  29. data/doc/dot/f_0.png +0 -0
  30. data/doc/dot/f_1.dot +392 -0
  31. data/doc/dot/f_1.png +0 -0
  32. data/doc/dot/f_10.dot +392 -0
  33. data/doc/dot/f_10.png +0 -0
  34. data/doc/dot/f_11.dot +38 -0
  35. data/doc/dot/f_11.png +0 -0
  36. data/doc/dot/f_12.dot +392 -0
  37. data/doc/dot/f_12.png +0 -0
  38. data/doc/dot/f_13.dot +392 -0
  39. data/doc/dot/f_13.png +0 -0
  40. data/doc/dot/f_14.dot +392 -0
  41. data/doc/dot/f_14.png +0 -0
  42. data/doc/dot/f_15.dot +392 -0
  43. data/doc/dot/f_15.png +0 -0
  44. data/doc/dot/f_16.dot +392 -0
  45. data/doc/dot/f_16.png +0 -0
  46. data/doc/dot/f_17.dot +392 -0
  47. data/doc/dot/f_17.png +0 -0
  48. data/doc/dot/f_18.dot +392 -0
  49. data/doc/dot/f_18.png +0 -0
  50. data/doc/dot/f_19.dot +392 -0
  51. data/doc/dot/f_19.png +0 -0
  52. data/doc/dot/f_2.dot +392 -0
  53. data/doc/dot/f_2.png +0 -0
  54. data/doc/dot/f_3.dot +392 -0
  55. data/doc/dot/f_3.png +0 -0
  56. data/doc/dot/f_4.dot +392 -0
  57. data/doc/dot/f_4.png +0 -0
  58. data/doc/dot/f_5.dot +392 -0
  59. data/doc/dot/f_5.png +0 -0
  60. data/doc/dot/f_6.dot +14 -0
  61. data/doc/dot/f_6.png +0 -0
  62. data/doc/dot/f_7.dot +392 -0
  63. data/doc/dot/f_7.png +0 -0
  64. data/doc/dot/f_8.dot +392 -0
  65. data/doc/dot/f_8.png +0 -0
  66. data/doc/dot/f_9.dot +392 -0
  67. data/doc/dot/f_9.png +0 -0
  68. data/doc/dot/m_10_0.dot +392 -0
  69. data/doc/dot/m_10_0.png +0 -0
  70. data/doc/dot/m_12_0.dot +392 -0
  71. data/doc/dot/m_12_0.png +0 -0
  72. data/doc/dot/m_13_0.dot +392 -0
  73. data/doc/dot/m_13_0.png +0 -0
  74. data/doc/dot/m_14_0.dot +392 -0
  75. data/doc/dot/m_14_0.png +0 -0
  76. data/doc/dot/m_15_0.dot +392 -0
  77. data/doc/dot/m_15_0.png +0 -0
  78. data/doc/dot/m_16_0.dot +392 -0
  79. data/doc/dot/m_16_0.png +0 -0
  80. data/doc/dot/m_17_0.dot +392 -0
  81. data/doc/dot/m_17_0.png +0 -0
  82. data/doc/dot/m_18_0.dot +392 -0
  83. data/doc/dot/m_18_0.png +0 -0
  84. data/doc/dot/m_19_0.dot +392 -0
  85. data/doc/dot/m_19_0.png +0 -0
  86. data/doc/dot/m_1_0.dot +392 -0
  87. data/doc/dot/m_1_0.png +0 -0
  88. data/doc/dot/m_2_0.dot +392 -0
  89. data/doc/dot/m_2_0.png +0 -0
  90. data/doc/dot/m_3_0.dot +392 -0
  91. data/doc/dot/m_3_0.png +0 -0
  92. data/doc/dot/m_4_0.dot +392 -0
  93. data/doc/dot/m_4_0.png +0 -0
  94. data/doc/dot/m_5_0.dot +392 -0
  95. data/doc/dot/m_5_0.png +0 -0
  96. data/doc/dot/m_7_0.dot +392 -0
  97. data/doc/dot/m_7_0.png +0 -0
  98. data/doc/dot/m_8_0.dot +392 -0
  99. data/doc/dot/m_8_0.png +0 -0
  100. data/doc/dot/m_9_0.dot +392 -0
  101. data/doc/dot/m_9_0.png +0 -0
  102. data/doc/files/lib/AbstractConstraint_rb.html +148 -0
  103. data/doc/files/lib/AllDifferentConstraint_rb.html +156 -0
  104. data/doc/files/lib/BinaryConstraint_rb.html +155 -0
  105. data/doc/files/lib/ConstraintList_rb.html +148 -0
  106. data/doc/files/lib/ConstraintSolver_rb.html +162 -0
  107. data/doc/files/lib/Domain_rb.html +155 -0
  108. data/doc/files/lib/Problem_rb.html +148 -0
  109. data/doc/files/lib/Solution_rb.html +148 -0
  110. data/doc/files/lib/Variable_rb.html +148 -0
  111. data/doc/files/lib/extensions_rb.html +108 -0
  112. data/doc/files/test/AllDifferentConstraintTest_rb.html +158 -0
  113. data/doc/files/test/BinaryConstraintTest_rb.html +158 -0
  114. data/doc/files/test/ConstraintListTest_rb.html +160 -0
  115. data/doc/files/test/ConstraintSolverTest_rb.html +164 -0
  116. data/doc/files/test/DomainTest_rb.html +156 -0
  117. data/doc/files/test/ProblemTest_rb.html +160 -0
  118. data/doc/files/test/SolutionTest_rb.html +159 -0
  119. data/doc/files/test/TestSuite_rb.html +113 -0
  120. data/doc/files/test/VariableTest_rb.html +157 -0
  121. data/doc/files/test/extensionsTest_rb.html +118 -0
  122. data/doc/fr_class_index.html +51 -0
  123. data/doc/fr_file_index.html +46 -0
  124. data/doc/fr_method_index.html +133 -0
  125. data/doc/index.html +24 -0
  126. data/examples/example.rb +7 -0
  127. data/examples/queens.rb +13 -0
  128. data/examples/soft.rb +14 -0
  129. data/lib/AbstractConstraint.rb +45 -0
  130. data/lib/AllDifferentConstraint.rb +160 -0
  131. data/lib/BinaryConstraint.rb +187 -0
  132. data/lib/ConstraintList.rb +31 -0
  133. data/lib/ConstraintSolver.rb +213 -0
  134. data/lib/Domain.rb +100 -0
  135. data/lib/GraphUtils.rb +293 -0
  136. data/lib/OneOfEqualsConstraint.rb +81 -0
  137. data/lib/Problem.rb +30 -0
  138. data/lib/Solution.rb +56 -0
  139. data/lib/TupleConstraint.rb +111 -0
  140. data/lib/Variable.rb +74 -0
  141. data/lib/extensions.rb +55 -0
  142. data/test/AllDifferentConstraintTest.rb +140 -0
  143. data/test/BinaryConstraintTest.rb +108 -0
  144. data/test/ConstraintListTest.rb +41 -0
  145. data/test/ConstraintSolverTest.rb +274 -0
  146. data/test/DomainTest.rb +83 -0
  147. data/test/GraphUtilsTest.rb +83 -0
  148. data/test/OneOfEqualsConstraintTest.rb +82 -0
  149. data/test/ProblemTest.rb +35 -0
  150. data/test/SolutionTest.rb +35 -0
  151. data/test/TestSuite.rb +10 -0
  152. data/test/TupleConstraintTest.rb +151 -0
  153. data/test/VariableTest.rb +47 -0
  154. data/test/extensionsTest.rb +57 -0
  155. metadata +212 -0
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/ruby
2
+
3
+ $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
4
+
5
+ require 'log4r'
6
+ require 'ConstraintSolver'
7
+
8
+ include Log4r
9
+
10
+ module ConstraintSolver
11
+ class ConstraintSolverBin < ConstraintSolver
12
+ def main
13
+ if ARGV.empty?
14
+ eval STDIN.read
15
+ else
16
+ ARGV.each { |file|
17
+ eval File.read(file)
18
+ }
19
+ end
20
+ end
21
+ c = new
22
+ c.main
23
+ end
24
+ end
@@ -0,0 +1,209 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Class: Array</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Class</strong></td>
53
+ <td class="class-name-in-header">Array</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../files/lib/extensions_rb.html">
59
+ lib/extensions.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ <tr class="top-aligned-row">
66
+ <td><strong>Parent:</strong></td>
67
+ <td>
68
+ Object
69
+ </td>
70
+ </tr>
71
+ </table>
72
+ </div>
73
+ <!-- banner header -->
74
+
75
+ <div id="bodyContent">
76
+
77
+
78
+
79
+ <div id="contextContent">
80
+ <div id="diagram">
81
+ <map id="map" name="map">
82
+ <area shape="rect" coords="123,51,195,99" href="Array.html" alt="Array" />
83
+ <area shape="rect" coords="27,51,99,99" href="Fixnum.html" alt="Fixnum" />
84
+ </map>
85
+ <img src="../dot/f_11.png" usemap="#map" border="0" alt="dot/f_11.png">
86
+ </div>
87
+
88
+
89
+
90
+ </div>
91
+
92
+ <div id="method-list">
93
+ <h3 class="section-bar">Methods</h3>
94
+
95
+ <div class="name-list">
96
+ <a href="#M000003">eachAfter</a>&nbsp;&nbsp;
97
+ <a href="#M000002">foldLeft</a>&nbsp;&nbsp;
98
+ <a href="#M000001">rest</a>&nbsp;&nbsp;
99
+ </div>
100
+ </div>
101
+
102
+ </div>
103
+
104
+
105
+ <!-- if includes -->
106
+
107
+ <div id="section">
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+
116
+ <!-- if method_list -->
117
+ <div id="methods">
118
+ <h3 class="section-bar">Public Instance methods</h3>
119
+
120
+ <div id="method-M000003" class="method-detail">
121
+ <a name="M000003"></a>
122
+
123
+ <div class="method-heading">
124
+ <a href="#M000003" class="method-signature">
125
+ <span class="method-name">eachAfter</span><span class="method-args">(element) {|x| ...}</span>
126
+ </a>
127
+ </div>
128
+
129
+ <div class="method-description">
130
+ <p><a class="source-toggle" href="#"
131
+ onclick="toggleCode('M000003-source');return false;">[Source]</a></p>
132
+ <div class="method-source-code" id="M000003-source">
133
+ <pre>
134
+ <span class="ruby-comment cmt"># File lib/extensions.rb, line 18</span>
135
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">eachAfter</span>(<span class="ruby-identifier">element</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
136
+ <span class="ruby-keyword kw">self</span>[<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">index</span>(<span class="ruby-identifier">element</span>) <span class="ruby-operator">+</span> <span class="ruby-value">1</span>, <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">length</span>].<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span>
137
+ <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">x</span>
138
+ }
139
+ <span class="ruby-keyword kw">end</span>
140
+ </pre>
141
+ </div>
142
+ </div>
143
+ </div>
144
+
145
+ <div id="method-M000002" class="method-detail">
146
+ <a name="M000002"></a>
147
+
148
+ <div class="method-heading">
149
+ <a href="#M000002" class="method-signature">
150
+ <span class="method-name">foldLeft</span><span class="method-args">(function)</span>
151
+ </a>
152
+ </div>
153
+
154
+ <div class="method-description">
155
+ <p><a class="source-toggle" href="#"
156
+ onclick="toggleCode('M000002-source');return false;">[Source]</a></p>
157
+ <div class="method-source-code" id="M000002-source">
158
+ <pre>
159
+ <span class="ruby-comment cmt"># File lib/extensions.rb, line 10</span>
160
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">foldLeft</span>(<span class="ruby-identifier">function</span>)
161
+ <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
162
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">first</span>
163
+ <span class="ruby-keyword kw">else</span>
164
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">function</span>.<span class="ruby-identifier">call</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">first</span>, <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">rest</span>.<span class="ruby-identifier">foldLeft</span>(<span class="ruby-identifier">function</span>))
165
+ <span class="ruby-keyword kw">end</span>
166
+ <span class="ruby-keyword kw">end</span>
167
+ </pre>
168
+ </div>
169
+ </div>
170
+ </div>
171
+
172
+ <div id="method-M000001" class="method-detail">
173
+ <a name="M000001"></a>
174
+
175
+ <div class="method-heading">
176
+ <a href="#M000001" class="method-signature">
177
+ <span class="method-name">rest</span><span class="method-args">()</span>
178
+ </a>
179
+ </div>
180
+
181
+ <div class="method-description">
182
+ <p><a class="source-toggle" href="#"
183
+ onclick="toggleCode('M000001-source');return false;">[Source]</a></p>
184
+ <div class="method-source-code" id="M000001-source">
185
+ <pre>
186
+ <span class="ruby-comment cmt"># File lib/extensions.rb, line 4</span>
187
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rest</span>
188
+ <span class="ruby-identifier">retval</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">clone</span>
189
+ <span class="ruby-identifier">retval</span>.<span class="ruby-identifier">shift</span>
190
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">retval</span>
191
+ <span class="ruby-keyword kw">end</span>
192
+ </pre>
193
+ </div>
194
+ </div>
195
+ </div>
196
+
197
+
198
+ </div>
199
+
200
+
201
+ </div>
202
+
203
+
204
+ <div id="validator-badges">
205
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
206
+ </div>
207
+
208
+ </body>
209
+ </html>
@@ -0,0 +1,242 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Module: ConstraintSolver</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Module</strong></td>
53
+ <td class="class-name-in-header">ConstraintSolver</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../files/test/ProblemTest_rb.html">
59
+ test/ProblemTest.rb
60
+ </a>
61
+ <br />
62
+ <a href="../files/test/DomainTest_rb.html">
63
+ test/DomainTest.rb
64
+ </a>
65
+ <br />
66
+ <a href="../files/test/VariableTest_rb.html">
67
+ test/VariableTest.rb
68
+ </a>
69
+ <br />
70
+ <a href="../files/test/SolutionTest_rb.html">
71
+ test/SolutionTest.rb
72
+ </a>
73
+ <br />
74
+ <a href="../files/test/BinaryConstraintTest_rb.html">
75
+ test/BinaryConstraintTest.rb
76
+ </a>
77
+ <br />
78
+ <a href="../files/test/AllDifferentConstraintTest_rb.html">
79
+ test/AllDifferentConstraintTest.rb
80
+ </a>
81
+ <br />
82
+ <a href="../files/test/ConstraintListTest_rb.html">
83
+ test/ConstraintListTest.rb
84
+ </a>
85
+ <br />
86
+ <a href="../files/test/ConstraintSolverTest_rb.html">
87
+ test/ConstraintSolverTest.rb
88
+ </a>
89
+ <br />
90
+ <a href="../files/lib/BinaryConstraint_rb.html">
91
+ lib/BinaryConstraint.rb
92
+ </a>
93
+ <br />
94
+ <a href="../files/lib/Problem_rb.html">
95
+ lib/Problem.rb
96
+ </a>
97
+ <br />
98
+ <a href="../files/lib/Variable_rb.html">
99
+ lib/Variable.rb
100
+ </a>
101
+ <br />
102
+ <a href="../files/lib/Domain_rb.html">
103
+ lib/Domain.rb
104
+ </a>
105
+ <br />
106
+ <a href="../files/lib/Solution_rb.html">
107
+ lib/Solution.rb
108
+ </a>
109
+ <br />
110
+ <a href="../files/lib/AbstractConstraint_rb.html">
111
+ lib/AbstractConstraint.rb
112
+ </a>
113
+ <br />
114
+ <a href="../files/lib/ConstraintList_rb.html">
115
+ lib/ConstraintList.rb
116
+ </a>
117
+ <br />
118
+ <a href="../files/lib/AllDifferentConstraint_rb.html">
119
+ lib/AllDifferentConstraint.rb
120
+ </a>
121
+ <br />
122
+ <a href="../files/lib/ConstraintSolver_rb.html">
123
+ lib/ConstraintSolver.rb
124
+ </a>
125
+ <br />
126
+ </td>
127
+ </tr>
128
+
129
+ </table>
130
+ </div>
131
+ <!-- banner header -->
132
+
133
+ <div id="bodyContent">
134
+
135
+
136
+
137
+ <div id="contextContent">
138
+ <div id="diagram">
139
+ <map id="map" name="map">
140
+ <area shape="rect" coords="1537,5,1665,53" href="Test/Unit/TestCase.html" alt="Test::Unit::TestCase" />
141
+ <area shape="rect" coords="937,133,1089,181" href="ConstraintSolver/AllDifferentConstraintTest.html" alt="AllDifferentConstraintTest" />
142
+ <area shape="rect" coords="2305,133,2396,181" href="ConstraintSolver/SolutionTest.html" alt="SolutionTest" />
143
+ <area shape="rect" coords="204,133,335,181" href="ConstraintSolver/ConstraintSolverTest.html" alt="ConstraintSolverTest" />
144
+ <area shape="rect" coords="1923,133,2040,181" href="ConstraintSolver/ConstraintListTest.html" alt="ConstraintListTest" />
145
+ <area shape="rect" coords="1123,133,1213,181" href="ConstraintSolver/VariableTest.html" alt="VariableTest" />
146
+ <area shape="rect" coords="2429,133,2517,181" href="ConstraintSolver/DomainTest.html" alt="DomainTest" />
147
+ <area shape="rect" coords="1387,133,1517,181" href="ConstraintSolver/BinaryConstraintTest.html" alt="BinaryConstraintTest" />
148
+ <area shape="rect" coords="1797,133,1888,181" href="ConstraintSolver/ProblemTest.html" alt="ProblemTest" />
149
+ <area shape="rect" coords="1541,133,1661,181" href="ConstraintSolver/BinaryRelationTest.html" alt="BinaryRelationTest" />
150
+ <area shape="rect" coords="589,5,667,53" href="Exception.html" alt="Exception" />
151
+ <area shape="rect" coords="463,133,615,181" href="ConstraintSolver/DomainWipeoutException.html" alt="DomainWipeoutException" />
152
+ <area shape="rect" coords="639,133,799,181" href="ConstraintSolver/UndoStackEmptyException.html" alt="UndoStackEmptyException" />
153
+ <area shape="rect" coords="53,133,171,181" href="ConstraintSolver/AbstractConstraint.html" alt="AbstractConstraint" />
154
+ <area shape="rect" coords="160,237,269,285" href="ConstraintSolver/BinaryConstraint.html" alt="BinaryConstraint" />
155
+ <area shape="rect" coords="301,237,432,285" href="ConstraintSolver/AllDifferentConstraint.html" alt="AllDifferentConstraint" />
156
+ <area shape="rect" coords="2085,5,2157,53" href="Array.html" alt="Array" />
157
+ <area shape="rect" coords="2073,133,2169,181" href="ConstraintSolver/ConstraintList.html" alt="ConstraintList" />
158
+ <area shape="rect" coords="37,237,136,285" href="ConstraintSolver/BinaryRelation.html" alt="BinaryRelation" />
159
+ <area shape="rect" coords="2201,133,2273,181" href="ConstraintSolver/Variable.html" alt="Variable" />
160
+ <area shape="rect" coords="1693,133,1765,181" href="ConstraintSolver/Solution.html" alt="Solution" />
161
+ <area shape="rect" coords="1245,133,1355,181" href="ConstraintSolver/ConstraintSolver.html" alt="ConstraintSolver" />
162
+ <area shape="rect" coords="831,133,903,181" href="ConstraintSolver/Problem.html" alt="Problem" />
163
+ <area shape="rect" coords="367,133,439,181" href="ConstraintSolver/Domain.html" alt="Domain" />
164
+ <area shape="rect" coords="2419,99,2531,192" href="ConstraintSolver.html" alt="test/DomainTest.rb" />
165
+ <area shape="rect" coords="2295,99,2408,192" href="ConstraintSolver.html" alt="test/SolutionTest.rb" />
166
+ <area shape="rect" coords="27,203,280,296" href="ConstraintSolver.html" alt="lib/BinaryConstraint.rb" />
167
+ <area shape="rect" coords="2191,99,2284,192" href="ConstraintSolver.html" alt="lib/Variable.rb" />
168
+ <area shape="rect" coords="1912,99,2052,192" href="ConstraintSolver.html" alt="test/ConstraintListTest.rb" />
169
+ <area shape="rect" coords="2063,99,2180,192" href="ConstraintSolver.html" alt="lib/ConstraintList.rb" />
170
+ <area shape="rect" coords="1787,99,1901,192" href="ConstraintSolver.html" alt="test/ProblemTest.rb" />
171
+ <area shape="rect" coords="1683,99,1776,192" href="ConstraintSolver.html" alt="lib/Solution.rb" />
172
+ <area shape="rect" coords="1376,99,1672,192" href="ConstraintSolver.html" alt="test/BinaryConstraintTest.rb" />
173
+ <area shape="rect" coords="1235,99,1365,192" href="ConstraintSolver.html" alt="lib/ConstraintSolver.rb" />
174
+ <area shape="rect" coords="1111,99,1224,192" href="ConstraintSolver.html" alt="test/VariableTest.rb" />
175
+ <area shape="rect" coords="924,99,1100,192" href="ConstraintSolver.html" alt="test/AllDifferentConstraintTest.rb" />
176
+ <area shape="rect" coords="291,203,443,296" href="ConstraintSolver.html" alt="lib/AllDifferentConstraint.rb" />
177
+ <area shape="rect" coords="820,99,913,192" href="ConstraintSolver.html" alt="lib/Problem.rb" />
178
+ <area shape="rect" coords="192,99,345,192" href="ConstraintSolver.html" alt="test/ConstraintSolverTest.rb" />
179
+ <area shape="rect" coords="356,99,809,192" href="ConstraintSolver.html" alt="lib/Domain.rb" />
180
+ <area shape="rect" coords="43,99,181,192" href="ConstraintSolver.html" alt="lib/AbstractConstraint.rb" />
181
+ <area shape="rect" coords="16,64,2541,307" href="ConstraintSolver.html" alt="ConstraintSolver" />
182
+ </map>
183
+ <img src="../dot/m_19_0.png" usemap="#map" border="0" alt="dot/m_19_0.png">
184
+ </div>
185
+
186
+
187
+
188
+ </div>
189
+
190
+
191
+ </div>
192
+
193
+
194
+ <!-- if includes -->
195
+
196
+ <div id="section">
197
+
198
+ <div id="class-list">
199
+ <h3 class="section-bar">Classes and Modules</h3>
200
+
201
+ Class <a href="ConstraintSolver/AbstractConstraint.html" class="link">ConstraintSolver::AbstractConstraint</a><br />
202
+ Class <a href="ConstraintSolver/AllDifferentConstraint.html" class="link">ConstraintSolver::AllDifferentConstraint</a><br />
203
+ Class <a href="ConstraintSolver/AllDifferentConstraintTest.html" class="link">ConstraintSolver::AllDifferentConstraintTest</a><br />
204
+ Class <a href="ConstraintSolver/BinaryConstraint.html" class="link">ConstraintSolver::BinaryConstraint</a><br />
205
+ Class <a href="ConstraintSolver/BinaryConstraintTest.html" class="link">ConstraintSolver::BinaryConstraintTest</a><br />
206
+ Class <a href="ConstraintSolver/BinaryRelation.html" class="link">ConstraintSolver::BinaryRelation</a><br />
207
+ Class <a href="ConstraintSolver/BinaryRelationTest.html" class="link">ConstraintSolver::BinaryRelationTest</a><br />
208
+ Class <a href="ConstraintSolver/ConstraintList.html" class="link">ConstraintSolver::ConstraintList</a><br />
209
+ Class <a href="ConstraintSolver/ConstraintListTest.html" class="link">ConstraintSolver::ConstraintListTest</a><br />
210
+ Class <a href="ConstraintSolver/ConstraintSolver.html" class="link">ConstraintSolver::ConstraintSolver</a><br />
211
+ Class <a href="ConstraintSolver/ConstraintSolverTest.html" class="link">ConstraintSolver::ConstraintSolverTest</a><br />
212
+ Class <a href="ConstraintSolver/Domain.html" class="link">ConstraintSolver::Domain</a><br />
213
+ Class <a href="ConstraintSolver/DomainTest.html" class="link">ConstraintSolver::DomainTest</a><br />
214
+ Class <a href="ConstraintSolver/DomainWipeoutException.html" class="link">ConstraintSolver::DomainWipeoutException</a><br />
215
+ Class <a href="ConstraintSolver/Problem.html" class="link">ConstraintSolver::Problem</a><br />
216
+ Class <a href="ConstraintSolver/ProblemTest.html" class="link">ConstraintSolver::ProblemTest</a><br />
217
+ Class <a href="ConstraintSolver/Solution.html" class="link">ConstraintSolver::Solution</a><br />
218
+ Class <a href="ConstraintSolver/SolutionTest.html" class="link">ConstraintSolver::SolutionTest</a><br />
219
+ Class <a href="ConstraintSolver/UndoStackEmptyException.html" class="link">ConstraintSolver::UndoStackEmptyException</a><br />
220
+ Class <a href="ConstraintSolver/Variable.html" class="link">ConstraintSolver::Variable</a><br />
221
+ Class <a href="ConstraintSolver/VariableTest.html" class="link">ConstraintSolver::VariableTest</a><br />
222
+
223
+ </div>
224
+
225
+
226
+
227
+
228
+
229
+
230
+
231
+ <!-- if method_list -->
232
+
233
+
234
+ </div>
235
+
236
+
237
+ <div id="validator-badges">
238
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
239
+ </div>
240
+
241
+ </body>
242
+ </html>