rgl 0.2.2 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +75 -2
- data/README +52 -28
- data/Rakefile +3 -3
- data/TAGS +242 -198
- data/examples/debgraph.rb +118 -0
- data/examples/examples.rb +5 -3
- data/examples/graph.dot +731 -17
- data/examples/insel.rb +141 -0
- data/lib/rgl/adjacency.rb +172 -139
- data/lib/rgl/base.rb +247 -251
- data/lib/rgl/connected_components.rb +125 -112
- data/lib/rgl/dot.rb +54 -46
- data/lib/rgl/graphxml.rb +48 -37
- data/lib/rgl/implicit.rb +159 -136
- data/lib/rgl/mutable.rb +69 -48
- data/lib/rgl/rdot.rb +268 -205
- data/lib/rgl/topsort.rb +63 -52
- data/lib/rgl/transitiv_closure.rb +40 -28
- data/lib/rgl/traversal.rb +300 -247
- data/tests/TestDirectedGraph.rb +22 -2
- data/tests/TestUnDirectedGraph.rb +4 -0
- metadata +7 -7
- data/Makefile +0 -72
- data/examples/graph.png +0 -0
data/tests/TestDirectedGraph.rb
CHANGED
@@ -14,8 +14,8 @@ class TestDirectedGraph < Test::Unit::TestCase
|
|
14
14
|
|
15
15
|
def test_empty_graph
|
16
16
|
dg = DirectedAdjacencyGraph.new
|
17
|
-
assert
|
18
|
-
|
17
|
+
assert dg.empty?
|
18
|
+
assert dg.directed?
|
19
19
|
assert(!dg.has_edge?(2,1))
|
20
20
|
assert(!dg.has_vertex?(3))
|
21
21
|
# Non existend vertex result in a Name Error because each_key is
|
@@ -97,4 +97,24 @@ class TestDirectedGraph < Test::Unit::TestCase
|
|
97
97
|
assert_equal(dg.vertices.sort, [1,2,3,4])
|
98
98
|
assert_equal(dg.edges.to_s, "(1-2)(3-4)")
|
99
99
|
end
|
100
|
+
|
101
|
+
def test_reverse
|
102
|
+
reverted = @dg.reverse
|
103
|
+
@dg.each_edge do |u,v|
|
104
|
+
assert(reverted.has_edge?(v,u))
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
def test_reverse
|
109
|
+
# Add isolated vertex
|
110
|
+
@dg.add_vertex(42)
|
111
|
+
reverted = @dg.reverse
|
112
|
+
|
113
|
+
@dg.each_edge do |u,v|
|
114
|
+
assert(reverted.has_edge?(v,u))
|
115
|
+
end
|
116
|
+
|
117
|
+
assert(reverted.has_vertex?(42),
|
118
|
+
"Reverted graph should contain isolated Vertex 42")
|
119
|
+
end
|
100
120
|
end
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.8.
|
2
|
+
rubygems_version: 0.8.10
|
3
3
|
specification_version: 1
|
4
4
|
name: rgl
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.2.
|
7
|
-
date:
|
6
|
+
version: 0.2.3
|
7
|
+
date: 2005-04-12
|
8
8
|
summary: Ruby Graph Library
|
9
9
|
require_paths:
|
10
10
|
- lib
|
11
11
|
email: hd.at.clr@hduchene.de
|
12
|
-
homepage: rgl.rubyforge.org
|
12
|
+
homepage: http://rgl.rubyforge.org
|
13
13
|
rubyforge_project: rgl
|
14
14
|
description: "RGL is a framework for graph data structures and algorithms. The design of the
|
15
15
|
library is much influenced by the Boost Graph Library (BGL) which is written in
|
@@ -19,7 +19,7 @@ description: "RGL is a framework for graph data structures and algorithms. The
|
|
19
19
|
graphs, they are merely building blocks for constructing graph algorithms. The
|
20
20
|
graph algorithms in RGL currently include: * Topological Sort * Connected
|
21
21
|
Components * Strongly Connected Components * Transitive Closure"
|
22
|
-
autorequire: rgl
|
22
|
+
autorequire: rgl/base
|
23
23
|
default_executable:
|
24
24
|
bindir: bin
|
25
25
|
has_rdoc: true
|
@@ -36,7 +36,6 @@ authors:
|
|
36
36
|
files:
|
37
37
|
- install.rb
|
38
38
|
- ChangeLog
|
39
|
-
- Makefile
|
40
39
|
- README
|
41
40
|
- Rakefile
|
42
41
|
- TAGS
|
@@ -58,7 +57,8 @@ files:
|
|
58
57
|
- examples/rdep-rgl.rb
|
59
58
|
- examples/codegraph
|
60
59
|
- examples/graph.dot
|
61
|
-
- examples/
|
60
|
+
- examples/insel.rb
|
61
|
+
- examples/debgraph.rb
|
62
62
|
- examples/north/Graph.log
|
63
63
|
- examples/north/g.10.0.graphml
|
64
64
|
- examples/north/g.10.1.graphml
|
data/Makefile
DELETED
@@ -1,72 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# make test - run the tests
|
3
|
-
# make clean - tidy up
|
4
|
-
#
|
5
|
-
|
6
|
-
LIB=./lib
|
7
|
-
RGL=rgl-$(VERSION)
|
8
|
-
BOOST_DOC=http://www.boost.org/libs/graph/doc
|
9
|
-
#BOOST_DOC=file://D:/Programme/bgl/boost_1_25_1/libs/graph/doc
|
10
|
-
|
11
|
-
default: test
|
12
|
-
test:
|
13
|
-
cd tests && ruby -I../lib runtests.rb
|
14
|
-
|
15
|
-
# Release must have VERSION variable set
|
16
|
-
#
|
17
|
-
# make VERSION=0.2 release
|
18
|
-
#
|
19
|
-
|
20
|
-
release: doc stamp clean tar
|
21
|
-
|
22
|
-
ftpput: ${RGL}.tgz
|
23
|
-
ftpput.rb $<
|
24
|
-
|
25
|
-
releasedoc: doc
|
26
|
-
rm -f htdocs
|
27
|
-
ln -fs doc htdocs
|
28
|
-
tar --dereference --exclude='*.bak' -czf htdocs.tgz htdocs
|
29
|
-
rm htdocs
|
30
|
-
scp htdocs.tgz monora@rgl.sf.net:/home/groups/r/rg/rgl
|
31
|
-
|
32
|
-
stamp:
|
33
|
-
ruby -i.bak -pe 'sub!(/V\d+(\.\d+)+/, "V$(VERSION)") if /_VERSION =/' ${LIB}/rgl/base.rb
|
34
|
-
rm ${LIB}/rgl/base.rb.bak
|
35
|
-
cvs commit
|
36
|
-
cvs rtag `echo V$(VERSION) | sed s/\\\\./_/g` rgl
|
37
|
-
|
38
|
-
doc: ${LIB}/rgl/*.rb README
|
39
|
-
# cd ${LIB} && rdoc --diagram --fileboxes --title RGL --main rgl/base.rb --op ../doc
|
40
|
-
cd ${LIB} && rdoc.bat --title RGL --main rgl/base.rb --op ../doc
|
41
|
-
cp examples/*.jpg doc
|
42
|
-
find doc -name \*.html -print | xargs ruby -i.bak -pe 'sub!(/BOOST_DOC.(.*.html)/,"<a href=${BOOST_DOC}/\\1>\\1<a>")'
|
43
|
-
|
44
|
-
install:
|
45
|
-
ruby install.rb
|
46
|
-
|
47
|
-
tags:
|
48
|
-
rtags `find ${LIB} -name '*.rb'`
|
49
|
-
|
50
|
-
tar: test
|
51
|
-
ln -fs rgl ../${RGL}
|
52
|
-
tar --directory=.. \
|
53
|
-
--create \
|
54
|
-
--dereference \
|
55
|
-
--file=${RGL}.tgz \
|
56
|
-
--gzip \
|
57
|
-
--exclude='CVS' \
|
58
|
-
--exclude='cvs' \
|
59
|
-
--exclude='misc' \
|
60
|
-
--exclude='doc' \
|
61
|
-
--exclude='homepage' \
|
62
|
-
--exclude='*.tgz' \
|
63
|
-
--exclude='*/.*' \
|
64
|
-
${RGL}
|
65
|
-
rm ../${RGL}
|
66
|
-
|
67
|
-
clean:
|
68
|
-
rm -rf rgl*.tgz graph.dot TAGS examples/*/*.dot
|
69
|
-
find . -name \*~ -print | xargs rm -f
|
70
|
-
find . -name \*.bak -print | xargs rm -f
|
71
|
-
find . -name core -print | xargs rm -f
|
72
|
-
|
data/examples/graph.png
DELETED
Binary file
|