igraph 0.3.2 → 0.3.3
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.
- data/Manifest.txt +14 -0
- data/Rakefile.rb +1 -1
- data/ext/cIGraph.c +40 -4
- data/ext/cIGraph.h +70 -2
- data/ext/cIGraph_attribute_handler.c +6 -0
- data/ext/cIGraph_cliques.c +178 -0
- data/ext/cIGraph_dijkstra.c +258 -0
- data/ext/cIGraph_generators_random.c +72 -0
- data/ext/cIGraph_independent_vertex_sets.c +182 -0
- data/ext/cIGraph_isomorphism.c +137 -0
- data/ext/cIGraph_layout.c +174 -2
- data/ext/cIGraph_motif.c +109 -0
- data/ext/cIGraph_spectral.c +1 -1
- data/test/tc_adj_to_distance.rb +24 -0
- data/test/tc_cliques.rb +21 -0
- data/test/tc_dijkstra.rb +11 -0
- data/test/tc_generators_random.rb +26 -0
- data/test/tc_independent_vertex_sets.rb +21 -0
- data/test/tc_isomorphic.rb +33 -0
- data/test/tc_layout.rb +35 -0
- data/test/tc_motif.rb +19 -0
- data/test/test_all.rb +8 -2
- data/test/test_draw.rb +61 -0
- metadata +16 -2
data/ext/cIGraph_motif.c
ADDED
@@ -0,0 +1,109 @@
|
|
1
|
+
#include "igraph.h"
|
2
|
+
#include "ruby.h"
|
3
|
+
#include "cIGraph.h"
|
4
|
+
|
5
|
+
/* call-seq:
|
6
|
+
* igraph.motifs_randesu(size,cut)
|
7
|
+
*
|
8
|
+
*/
|
9
|
+
VALUE cIGraph_motifs_randesu(VALUE self, VALUE size, VALUE cuts){
|
10
|
+
|
11
|
+
igraph_t *graph;
|
12
|
+
igraph_vector_t cutsv;
|
13
|
+
igraph_vector_t res;
|
14
|
+
int i;
|
15
|
+
VALUE hist = rb_ary_new();
|
16
|
+
|
17
|
+
Data_Get_Struct(self, igraph_t, graph);
|
18
|
+
|
19
|
+
igraph_vector_init(&res,0);
|
20
|
+
|
21
|
+
//Convert an array of vertices to a vector of vertex ids
|
22
|
+
igraph_vector_init(&cutsv,0);
|
23
|
+
for(i=0;i<RARRAY(cuts)->len;i++){
|
24
|
+
igraph_vector_push_back(&cutsv,NUM2DBL(RARRAY(cuts)->ptr[i]));
|
25
|
+
}
|
26
|
+
|
27
|
+
igraph_motifs_randesu(graph,&res,NUM2INT(size),&cutsv);
|
28
|
+
|
29
|
+
for(i=0; i<igraph_vector_size(&res); i++){
|
30
|
+
rb_ary_push(hist,INT2NUM(VECTOR(res)[i]));
|
31
|
+
}
|
32
|
+
|
33
|
+
igraph_vector_destroy(&cutsv);
|
34
|
+
igraph_vector_destroy(&res);
|
35
|
+
|
36
|
+
return hist;
|
37
|
+
|
38
|
+
}
|
39
|
+
|
40
|
+
/* call-seq:
|
41
|
+
* igraph.motifs_randesu_no(size,cut)
|
42
|
+
*
|
43
|
+
*/
|
44
|
+
VALUE cIGraph_motifs_randesu_no(VALUE self, VALUE size, VALUE cuts){
|
45
|
+
|
46
|
+
igraph_t *graph;
|
47
|
+
igraph_vector_t cutsv;
|
48
|
+
igraph_integer_t res;
|
49
|
+
int i;
|
50
|
+
|
51
|
+
Data_Get_Struct(self, igraph_t, graph);
|
52
|
+
|
53
|
+
//Convert an array of vertices to a vector of vertex ids
|
54
|
+
igraph_vector_init(&cutsv,0);
|
55
|
+
for(i=0;i<RARRAY(cuts)->len;i++){
|
56
|
+
igraph_vector_push_back(&cutsv,NUM2DBL(RARRAY(cuts)->ptr[i]));
|
57
|
+
}
|
58
|
+
|
59
|
+
igraph_motifs_randesu_no(graph,&res,NUM2INT(size),&cutsv);
|
60
|
+
|
61
|
+
igraph_vector_destroy(&cutsv);
|
62
|
+
|
63
|
+
return INT2NUM(res);
|
64
|
+
|
65
|
+
}
|
66
|
+
|
67
|
+
/* call-seq:
|
68
|
+
* igraph.motifs_randesu_estimate(size,cut,samplen,samplev)
|
69
|
+
*
|
70
|
+
*/
|
71
|
+
VALUE cIGraph_motifs_randesu_estimate(VALUE self, VALUE size, VALUE cuts,
|
72
|
+
VALUE samplen, VALUE samplev){
|
73
|
+
|
74
|
+
igraph_t *graph;
|
75
|
+
igraph_vector_t cutsv;
|
76
|
+
igraph_vector_t vidv;
|
77
|
+
igraph_integer_t res;
|
78
|
+
int i;
|
79
|
+
|
80
|
+
if(samplev != Qnil){
|
81
|
+
igraph_vector_init(&vidv,0);
|
82
|
+
//Convert an array of vertices to a vector of vertex ids
|
83
|
+
igraph_vector_init_int(&vidv,0);
|
84
|
+
cIGraph_vertex_arr_to_id_vec(self,samplev,&vidv);
|
85
|
+
}
|
86
|
+
|
87
|
+
Data_Get_Struct(self, igraph_t, graph);
|
88
|
+
|
89
|
+
igraph_vector_init(&cutsv,0);
|
90
|
+
for(i=0;i<RARRAY(cuts)->len;i++){
|
91
|
+
igraph_vector_push_back(&cutsv,NUM2DBL(RARRAY(cuts)->ptr[i]));
|
92
|
+
}
|
93
|
+
|
94
|
+
if(samplev == Qnil){
|
95
|
+
igraph_motifs_randesu_estimate(graph,&res,NUM2INT(size),
|
96
|
+
&cutsv,NUM2INT(samplen),NULL);
|
97
|
+
} else {
|
98
|
+
igraph_motifs_randesu_estimate(graph,&res,NUM2INT(size),
|
99
|
+
&cutsv,NUM2INT(samplen),&vidv);
|
100
|
+
}
|
101
|
+
|
102
|
+
igraph_vector_destroy(&cutsv);
|
103
|
+
if(samplev != Qnil){
|
104
|
+
igraph_vector_destroy(&vidv);
|
105
|
+
}
|
106
|
+
|
107
|
+
return INT2NUM(res);
|
108
|
+
|
109
|
+
}
|
data/ext/cIGraph_spectral.c
CHANGED
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'igraph'
|
2
|
+
|
3
|
+
g = IGraph.new(['A','B','A','C','A','D','C','D'],false)
|
4
|
+
|
5
|
+
adj = g.get_adjacency(2)
|
6
|
+
g.vcount.times do |k|
|
7
|
+
adj[k][k] = 1
|
8
|
+
end
|
9
|
+
|
10
|
+
dis = Array.new(4){|i| Array.new(4)}
|
11
|
+
|
12
|
+
dis.each_with_index do |row,i|
|
13
|
+
row.each_with_index do |cell,j|
|
14
|
+
cij = 0
|
15
|
+
g.vcount.times do |k|
|
16
|
+
puts "#{i} #{j} #{k}"
|
17
|
+
cij += adj[i][k] * adj[j][k]
|
18
|
+
end
|
19
|
+
dis[i][j] = 10 - cij
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
p adj
|
24
|
+
p dis
|
data/test/tc_cliques.rb
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'igraph'
|
3
|
+
|
4
|
+
class TestGraph < Test::Unit::TestCase
|
5
|
+
def test_cliques
|
6
|
+
g = IGraph.new([1,2,3,4],false)
|
7
|
+
assert_equal [[1,2],[3,4]], g.cliques(2,0)
|
8
|
+
end
|
9
|
+
def test_largest_cliques
|
10
|
+
g = IGraph.new(['A','B','C','D','A','E','B','E'],false)
|
11
|
+
assert_equal [['A','B','E','B','E']], g.largest_cliques()
|
12
|
+
end
|
13
|
+
def test_maximal_cliques
|
14
|
+
g = IGraph.new(['A','B','C','D','A','E','B','E'],false)
|
15
|
+
assert_equal [['A','B','E'],['C','D']], g.maximal_cliques()
|
16
|
+
end
|
17
|
+
def test_clique_number
|
18
|
+
g = IGraph.new(['A','B','C','D','A','E','B','E'],false)
|
19
|
+
assert_equal 3, g.clique_number
|
20
|
+
end
|
21
|
+
end
|
data/test/tc_dijkstra.rb
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'igraph'
|
3
|
+
|
4
|
+
Infinity = 1.0/0
|
5
|
+
|
6
|
+
class TestGraph < Test::Unit::TestCase
|
7
|
+
def test_dijkstra
|
8
|
+
g = IGraph.new([1,2,3,4],false)
|
9
|
+
assert_equal [[0,1.5,Infinity,Infinity]], g.dijkstra_shortest_paths([1],[1.5,2.5],IGraph::OUT)
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'igraph'
|
3
|
+
|
4
|
+
class TestGraph < Test::Unit::TestCase
|
5
|
+
def test_grg
|
6
|
+
g = IGraph.grg_game(10,0.1,false)
|
7
|
+
assert_equal 10, g.vertices.size
|
8
|
+
end
|
9
|
+
def test_barabasi
|
10
|
+
g = IGraph.barabasi_game(10,3,false,false)
|
11
|
+
assert_equal 10, g.vertices.size
|
12
|
+
end
|
13
|
+
def test_nonlinear_barabasi
|
14
|
+
g = IGraph.nonlinear_barabasi_game(10,1.9,3,false,0.1,false)
|
15
|
+
assert_equal 10, g.vertices.size
|
16
|
+
end
|
17
|
+
def test_erdos_renyi
|
18
|
+
g = IGraph.erdos_renyi_game(IGraph::ERDOS_RENYI_GNP,10,0.5,false,false)
|
19
|
+
assert_equal 10, g.vertices.size
|
20
|
+
g = IGraph.erdos_renyi_game(IGraph::ERDOS_RENYI_GNM,10,0.5,false,false)
|
21
|
+
assert_equal 10, g.vertices.size
|
22
|
+
end
|
23
|
+
def test_watts_strogatz
|
24
|
+
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'igraph'
|
3
|
+
|
4
|
+
class TestGraph < Test::Unit::TestCase
|
5
|
+
def test_independent_vertex_sets
|
6
|
+
g = IGraph.new([1,2,3,4],true)
|
7
|
+
assert_equal [[1,3],[1,4],[2,3],[2,4]], g.independent_vertex_sets(2,0)
|
8
|
+
end
|
9
|
+
def test_largest_independent_vertex_sets
|
10
|
+
g = IGraph.new([1,2,3,4,1,5],true)
|
11
|
+
assert_equal [[2,3,5],[2,4,5]], g.largest_independent_vertex_sets
|
12
|
+
end
|
13
|
+
def test_maximal_independent_vertex_sets
|
14
|
+
g = IGraph.new([1,2,3,4],true)
|
15
|
+
assert_equal [[1,3],[1,4],[2,3],[2,4]], g.maximal_independent_vertex_sets
|
16
|
+
end
|
17
|
+
def test_independence_number
|
18
|
+
g = IGraph.new([1,2,3,4],true)
|
19
|
+
assert_equal 2, g.independence_number
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'igraph'
|
3
|
+
|
4
|
+
class TestGraph < Test::Unit::TestCase
|
5
|
+
def test_isomorphic
|
6
|
+
g = IGraph.new([1,2,3,4],false)
|
7
|
+
h = IGraph.new([5,6,7,8],false)
|
8
|
+
assert_equal true, g.isomorphic(h)
|
9
|
+
assert_equal true, h.isomorphic(g)
|
10
|
+
end
|
11
|
+
def test_isomorphic_vf2
|
12
|
+
g = IGraph.new([1,2,3,4],false)
|
13
|
+
h = IGraph.new([5,6,7,8],false)
|
14
|
+
assert_equal true, g.isomorphic_vf2(h)
|
15
|
+
assert_equal true, h.isomorphic_vf2(g)
|
16
|
+
end
|
17
|
+
def test_isoclass
|
18
|
+
g = IGraph.new([1,2,3,4],false)
|
19
|
+
h = IGraph.new([5,6,7,8],false)
|
20
|
+
assert g.isoclass >= 0 and g.isoclass <= 11
|
21
|
+
assert_equal h.isoclass, g.isoclass
|
22
|
+
end
|
23
|
+
def test_isoclass_subgraph
|
24
|
+
g = IGraph.new([1,2,3,4],false)
|
25
|
+
assert g.isoclass_subgraph([1,2,3]) >= 0 and g.isoclass <= 4
|
26
|
+
assert_equal g.isoclass_subgraph([1,2,3]), g.isoclass_subgraph([2,3,4])
|
27
|
+
end
|
28
|
+
def test_igraph_isoclass_create
|
29
|
+
g = IGraph.new([1,2,3,4],false)
|
30
|
+
h = IGraph.isoclass_create(4,g.isoclass,false)
|
31
|
+
assert_equal g.isoclass, h.isoclass
|
32
|
+
end
|
33
|
+
end
|
data/test/tc_layout.rb
CHANGED
@@ -23,4 +23,39 @@ class TestGraph < Test::Unit::TestCase
|
|
23
23
|
assert_equal g.vcount, l.nrow
|
24
24
|
assert_equal 2, l.ncol
|
25
25
|
end
|
26
|
+
def test_kamada_kawai
|
27
|
+
g = IGraph.new([1,2,3,4],true)
|
28
|
+
l = g.layout_kamada_kawai(10,1,1,2,1)
|
29
|
+
assert_instance_of IGraphMatrix, l
|
30
|
+
assert_equal g.vcount, l.nrow
|
31
|
+
assert_equal 2, l.ncol
|
32
|
+
end
|
33
|
+
def test_reingold_tilford
|
34
|
+
g = IGraph.new([1,2,3,4],true)
|
35
|
+
l = g.layout_reingold_tilford(1)
|
36
|
+
assert_instance_of IGraphMatrix, l
|
37
|
+
assert_equal g.vcount, l.nrow
|
38
|
+
assert_equal 2, l.ncol
|
39
|
+
end
|
40
|
+
def test_reingold_tilford_circular
|
41
|
+
g = IGraph.new([1,2,3,4],true)
|
42
|
+
l = g.layout_reingold_tilford_circular(1)
|
43
|
+
assert_instance_of IGraphMatrix, l
|
44
|
+
assert_equal g.vcount, l.nrow
|
45
|
+
assert_equal 2, l.ncol
|
46
|
+
end
|
47
|
+
def test_grid_fruchterman_reingold
|
48
|
+
g = IGraph.new([1,2,3,4],true)
|
49
|
+
l = g.layout_grid_fruchterman_reingold(10,1,1,2,1,1,false)
|
50
|
+
assert_instance_of IGraphMatrix, l
|
51
|
+
assert_equal g.vcount, l.nrow
|
52
|
+
assert_equal 2, l.ncol
|
53
|
+
end
|
54
|
+
def test_lgl
|
55
|
+
g = IGraph.new([1,2,3,4],true)
|
56
|
+
l = g.layout_lgl(10,1,1,2,1,1,1)
|
57
|
+
assert_instance_of IGraphMatrix, l
|
58
|
+
assert_equal g.vcount, l.nrow
|
59
|
+
assert_equal 2, l.ncol
|
60
|
+
end
|
26
61
|
end
|
data/test/tc_motif.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'igraph'
|
3
|
+
|
4
|
+
class TestGraph < Test::Unit::TestCase
|
5
|
+
def test_motifs_randesu
|
6
|
+
g = IGraph.new(['A','B','C','D','A','C'],false)
|
7
|
+
hist = g.motifs_randesu(3,[0,0,0])
|
8
|
+
assert_equal [0,0,2,0], hist
|
9
|
+
end
|
10
|
+
def test_motifs_randesu_no
|
11
|
+
g = IGraph.new(['A','B','C','D','A','C'],false)
|
12
|
+
assert_equal 2, g.motifs_randesu_no(3,[0,0,0])
|
13
|
+
end
|
14
|
+
def test_motifs_randesu_estimate
|
15
|
+
g = IGraph.new(['A','B','C','D','A','C'],false)
|
16
|
+
assert_equal 2, g.motifs_randesu_estimate(3,[0,0,0],4,nil)
|
17
|
+
assert_equal 2, g.motifs_randesu_estimate(3,[0,0,0],0,['A','B','C','D'])
|
18
|
+
end
|
19
|
+
end
|
data/test/test_all.rb
CHANGED
@@ -3,9 +3,8 @@
|
|
3
3
|
require 'test/unit'
|
4
4
|
|
5
5
|
require 'tc_attributes'
|
6
|
+
require 'tc_cliques'
|
6
7
|
require 'tc_create'
|
7
|
-
require 'tc_iterators'
|
8
|
-
require 'tc_selectors'
|
9
8
|
require 'tc_add_delete'
|
10
9
|
require 'tc_basic_query'
|
11
10
|
require 'tc_basic_properties'
|
@@ -13,12 +12,19 @@ require 'tc_centrality'
|
|
13
12
|
require 'tc_components'
|
14
13
|
require 'tc_copy'
|
15
14
|
require 'tc_cores'
|
15
|
+
require 'tc_dijkstra'
|
16
16
|
require 'tc_directedness'
|
17
17
|
require 'tc_error_handling'
|
18
18
|
require 'tc_file_read_write'
|
19
|
+
require 'tc_generators_random'
|
20
|
+
require 'tc_independent_vertex_sets'
|
21
|
+
require 'tc_isomorphic'
|
22
|
+
require 'tc_iterators'
|
19
23
|
require 'tc_layout'
|
20
24
|
require 'tc_matrix'
|
25
|
+
require 'tc_motif'
|
21
26
|
require 'tc_other_ops'
|
27
|
+
require 'tc_selectors'
|
22
28
|
require 'tc_shortest_paths'
|
23
29
|
require 'tc_spanning'
|
24
30
|
require 'tc_spectral'
|
data/test/test_draw.rb
ADDED
@@ -0,0 +1,61 @@
|
|
1
|
+
require 'igraph'
|
2
|
+
require 'cairo'
|
3
|
+
|
4
|
+
g = IGraph.barabasi_game(100,3,false,false)
|
5
|
+
|
6
|
+
vertices = g.to_a
|
7
|
+
layout = g.send(ARGV.shift.to_sym,*ARGV.map{|a| eval(a)}).to_a
|
8
|
+
|
9
|
+
format = Cairo::FORMAT_ARGB32
|
10
|
+
width = 1000
|
11
|
+
height = 1000
|
12
|
+
|
13
|
+
surface = Cairo::ImageSurface.new(format, width, height)
|
14
|
+
cr = Cairo::Context.new(surface)
|
15
|
+
|
16
|
+
# fill background with white
|
17
|
+
cr.set_source_rgba(1.0, 1.0, 1.0, 0.8)
|
18
|
+
cr.paint
|
19
|
+
|
20
|
+
max_x = layout.map{|a| a[0]}.max
|
21
|
+
min_x = layout.map{|a| a[0]}.min
|
22
|
+
max_y = layout.map{|a| a[1]}.max
|
23
|
+
min_y = layout.map{|a| a[1]}.min
|
24
|
+
|
25
|
+
x_var = max_x - min_x
|
26
|
+
y_var = max_y - min_y
|
27
|
+
|
28
|
+
max_var = [x_var,y_var].max
|
29
|
+
|
30
|
+
layout.each_with_index do |a,i|
|
31
|
+
x,y = *a
|
32
|
+
|
33
|
+
x = (x - min_x)/max_var
|
34
|
+
y = (y - min_y)/max_var
|
35
|
+
x *= (width)
|
36
|
+
y *= (height)
|
37
|
+
|
38
|
+
layout[i] = [x,y]
|
39
|
+
|
40
|
+
puts "#{x} #{y}"
|
41
|
+
|
42
|
+
end
|
43
|
+
|
44
|
+
layout.each_with_index do |a,i|
|
45
|
+
|
46
|
+
v = vertices[i]
|
47
|
+
x,y = *a
|
48
|
+
|
49
|
+
cr.set_source_rgba(rand,rand,rand,0.5)
|
50
|
+
cr.circle(x,y,1).fill
|
51
|
+
|
52
|
+
g.adjacent_vertices(v,IGraph::OUT).each do |w|
|
53
|
+
cr.move_to(x,y)
|
54
|
+
wx,wy = *layout[vertices.index(w)]
|
55
|
+
cr.line_to(wx,wy)
|
56
|
+
cr.stroke
|
57
|
+
end
|
58
|
+
|
59
|
+
end
|
60
|
+
|
61
|
+
cr.target.write_to_png("test.png")
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.2
|
|
3
3
|
specification_version: 1
|
4
4
|
name: igraph
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.3.
|
7
|
-
date: 2007-
|
6
|
+
version: 0.3.3
|
7
|
+
date: 2007-10-02 00:00:00 +09:00
|
8
8
|
summary: IGraph is a Ruby extension for interfacing with the C igraph library (http://cneurocvs.rmki.kfki.hu/igraph/). igraph is a library for creating and manipulating graphs with a particular emphasis on network analysis functions.
|
9
9
|
require_paths:
|
10
10
|
- test
|
@@ -41,14 +41,20 @@ files:
|
|
41
41
|
- ext/cIGraph_basic_properties.c
|
42
42
|
- ext/cIGraph_basic_query.c
|
43
43
|
- ext/cIGraph_centrality.c
|
44
|
+
- ext/cIGraph_cliques.c
|
44
45
|
- ext/cIGraph_components.c
|
46
|
+
- ext/cIGraph_dijkstra.c
|
45
47
|
- ext/cIGraph_direction.c
|
46
48
|
- ext/cIGraph_error_handlers.c
|
47
49
|
- ext/cIGraph_file.c
|
50
|
+
- ext/cIGraph_generators_random.c
|
51
|
+
- ext/cIGraph_independent_vertex_sets.c
|
52
|
+
- ext/cIGraph_isomorphism.c
|
48
53
|
- ext/cIGraph_iterators.c
|
49
54
|
- ext/cIGraph_kcores.c
|
50
55
|
- ext/cIGraph_layout.c
|
51
56
|
- ext/cIGraph_matrix.c
|
57
|
+
- ext/cIGraph_motif.c
|
52
58
|
- ext/cIGraph_operators.c
|
53
59
|
- ext/cIGraph_other_ops.c
|
54
60
|
- ext/cIGraph_selectors.c
|
@@ -61,20 +67,27 @@ files:
|
|
61
67
|
- ext/cIGraph_vertex_neighbourhood.c
|
62
68
|
- ext/extconf.rb
|
63
69
|
- test/tc_add_delete.rb
|
70
|
+
- test/tc_adj_to_distance.rb
|
64
71
|
- test/tc_attributes.rb
|
65
72
|
- test/tc_basic_properties.rb
|
66
73
|
- test/tc_basic_query.rb
|
67
74
|
- test/tc_centrality.rb
|
75
|
+
- test/tc_cliques.rb
|
68
76
|
- test/tc_components.rb
|
69
77
|
- test/tc_copy.rb
|
70
78
|
- test/tc_cores.rb
|
71
79
|
- test/tc_create.rb
|
80
|
+
- test/tc_dijkstra.rb
|
72
81
|
- test/tc_directedness.rb
|
73
82
|
- test/tc_error_handling.rb
|
74
83
|
- test/tc_file_read_write.rb
|
84
|
+
- test/tc_generators_random.rb
|
85
|
+
- test/tc_independent_vertex_sets.rb
|
86
|
+
- test/tc_isomorphic.rb
|
75
87
|
- test/tc_iterators.rb
|
76
88
|
- test/tc_layout.rb
|
77
89
|
- test/tc_matrix.rb
|
90
|
+
- test/tc_motif.rb
|
78
91
|
- test/tc_other_ops.rb
|
79
92
|
- test/tc_selectors.rb
|
80
93
|
- test/tc_shortest_paths.rb
|
@@ -85,6 +98,7 @@ files:
|
|
85
98
|
- test/tc_transitivity.rb
|
86
99
|
- test/tc_vertex_neighbourhood.rb
|
87
100
|
- test/test_all.rb
|
101
|
+
- test/test_draw.rb
|
88
102
|
test_files:
|
89
103
|
- test/test_all.rb
|
90
104
|
rdoc_options:
|