[pypy-svn] r73737 - in pypy/branch/blackhole-improvement/pypy/tool/algo: . test
arigo at codespeak.net
arigo at codespeak.net
Wed Apr 14 15:21:44 CEST 2010
Author: arigo
Date: Wed Apr 14 15:21:43 2010
New Revision: 73737
Modified:
pypy/branch/blackhole-improvement/pypy/tool/algo/color.py
pypy/branch/blackhole-improvement/pypy/tool/algo/test/test_color.py
Log:
Tweaks.
Modified: pypy/branch/blackhole-improvement/pypy/tool/algo/color.py
==============================================================================
--- pypy/branch/blackhole-improvement/pypy/tool/algo/color.py (original)
+++ pypy/branch/blackhole-improvement/pypy/tool/algo/color.py Wed Apr 14 15:21:43 2010
@@ -1,6 +1,3 @@
-"""
-"""
-
class DependencyGraph(object):
@@ -18,7 +15,6 @@
def lexicographic_order(self):
"""Enumerate a lexicographic breath-first ordering of the nodes."""
sigma = [set(self.neighbours)]
- result = []
while sigma:
v = sigma[0].pop()
yield v
@@ -55,7 +51,8 @@
def find_node_coloring(self):
"""Return a random minimal node coloring, assuming that
- the graph is chordal."""
+ the graph is chordal. For non-chordal graphs this is just
+ an approximately good answer (but still a valid one)."""
result = {}
for v in self.lexicographic_order():
forbidden = 0 # bitset
Modified: pypy/branch/blackhole-improvement/pypy/tool/algo/test/test_color.py
==============================================================================
--- pypy/branch/blackhole-improvement/pypy/tool/algo/test/test_color.py (original)
+++ pypy/branch/blackhole-improvement/pypy/tool/algo/test/test_color.py Wed Apr 14 15:21:43 2010
@@ -1,7 +1,7 @@
from pypy.tool.algo.color import DependencyGraph
-def test_lexicographic_order():
+def graph1():
dg = DependencyGraph()
dg.add_node('a')
dg.add_node('b')
@@ -15,6 +15,10 @@
dg.add_edge('b', 'c')
dg.add_edge('b', 'e')
dg.add_edge('e', 'c')
+ return dg
+
+def test_lexicographic_order():
+ dg = graph1()
order = list(dg.lexicographic_order())
assert len(order) == 5
order.reverse()
@@ -24,7 +28,13 @@
'cebad', 'cebda', 'ceabd', 'ceadb', 'cedba', 'cedab',
'cabde', 'cabed', 'cadbe', 'cadeb', 'caebd', 'caedb',
]
+
+def test_size_of_largest_clique():
+ dg = graph1()
assert dg.size_of_largest_clique() == 3
+
+def test_find_node_coloring():
+ dg = graph1()
coloring = dg.find_node_coloring()
assert len(coloring) == 5
assert sorted(coloring.keys()) == list('abcde')
More information about the Pypy-commit
mailing list