[pypy-svn] r23837 - pypy/dist/pypy/lib/logic/computation_space
auc at codespeak.net
auc at codespeak.net
Wed Mar 1 16:46:08 CET 2006
Author: auc
Date: Wed Mar 1 16:46:05 2006
New Revision: 23837
Modified:
pypy/dist/pypy/lib/logic/computation_space/distributor.py
pypy/dist/pypy/lib/logic/computation_space/problems.py
pypy/dist/pypy/lib/logic/computation_space/strategies.py
Log:
forgot this
Modified: pypy/dist/pypy/lib/logic/computation_space/distributor.py
==============================================================================
--- pypy/dist/pypy/lib/logic/computation_space/distributor.py (original)
+++ pypy/dist/pypy/lib/logic/computation_space/distributor.py Wed Mar 1 16:46:05 2006
@@ -158,6 +158,7 @@
self.cs._del_var(old_choose_var)
self.cs.STABLE.bind(True) # unlocks Ask
print "-- distributor terminated (%s) --" % self.cs.id
+ self.cs.STABLE.bind(True) # it can't hurt ...
def distribute(self, choice):
Modified: pypy/dist/pypy/lib/logic/computation_space/problems.py
==============================================================================
--- pypy/dist/pypy/lib/logic/computation_space/problems.py (original)
+++ pypy/dist/pypy/lib/logic/computation_space/problems.py Wed Mar 1 16:46:05 2006
@@ -11,8 +11,8 @@
cs = computation_space
x, y, z = cs.var('x'), cs.var('y'), cs.var('z')
cs.set_dom(x, c.FiniteDomain([-4, -2, -1, 0, 1, 2, 4]))
- cs.set_dom(y, c.FiniteDomain([0, 2, 3, 4, 5, 16]))
- cs.set_dom(z, c.FiniteDomain([-2, -1, 0, 1, 2]))
+ cs.set_dom(y, c.FiniteDomain([0, 1, 2, 4, 8, 16]))
+ cs.set_dom(z, c.FiniteDomain([0, 1, 2]))
cs.add_constraint([x, y, z], 'y==x**2-z')
# set up a distribution strategy
cs.set_distributor(di.DichotomyDistributor(cs))
Modified: pypy/dist/pypy/lib/logic/computation_space/strategies.py
==============================================================================
--- pypy/dist/pypy/lib/logic/computation_space/strategies.py (original)
+++ pypy/dist/pypy/lib/logic/computation_space/strategies.py Wed Mar 1 16:46:05 2006
@@ -20,6 +20,7 @@
space.commit(1)
outcome = do_dfs(space)
if outcome is None:
+ new_space.ask()
new_space.commit(2)
return do_dfs(new_space)
else:
@@ -53,9 +54,11 @@
elif status == csp.Alternative(2):
print ' '*len(sp_stack), "branches ..."
sp1 = space.clone()
+ sp1.ask()
sp1.commit(1)
sp_stack.append(sp1)
sp2 = space.clone()
+ sp2.ask()
sp2.commit(2)
sp_stack.append(sp2)
More information about the Pypy-commit
mailing list