igraph 0.9.1 → 0.9.5
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/Rakefile.rb +2 -2
- data/ext/cIGraph.c +3 -3
- data/ext/cIGraph.h +2 -2
- data/ext/cIGraph_centrality.c +2 -2
- data/ext/cIGraph_community.c +16 -7
- data/ext/cIGraph_generators_random.c +1 -1
- data/ext/cIGraph_isomorphism.c +4 -4
- data/ext/cIGraph_layout.c +2 -2
- data/ext/cIGraph_layout3d.c +2 -2
- data/ext/cIGraph_matrix.c +3 -3
- data/ext/cIGraph_randomisation.c +0 -0
- data/test/tc_centrality.rb +1 -1
- data/test/tc_cliques.rb +1 -1
- data/test/tc_community.rb +6 -6
- data/test/tc_file_read_write.rb +4 -0
- data/test/tc_randomisation.rb +0 -0
- metadata +43 -36
data/Rakefile.rb
CHANGED
@@ -3,7 +3,7 @@ require 'hoe'
|
|
3
3
|
$LOAD_PATH.unshift("./ext")
|
4
4
|
|
5
5
|
class IGraph
|
6
|
-
VERSION = "0.9.
|
6
|
+
VERSION = "0.9.5"
|
7
7
|
end
|
8
8
|
|
9
9
|
begin
|
@@ -14,7 +14,7 @@ end
|
|
14
14
|
hoe = Hoe.new("igraph",IGraph::VERSION) do |p|
|
15
15
|
|
16
16
|
p.author = "Alex Gutteridge"
|
17
|
-
p.email = "
|
17
|
+
p.email = "ag357@cam.ac.uk"
|
18
18
|
p.url = "http://igraph.rubyforge.org/"
|
19
19
|
|
20
20
|
p.description = p.paragraphs_of("README.txt",1..3)[0]
|
data/ext/cIGraph.c
CHANGED
@@ -546,7 +546,7 @@ void Init_igraph(){
|
|
546
546
|
rb_include_module(cIGraph, cIGraph_community);
|
547
547
|
|
548
548
|
rb_define_method(cIGraph_community, "modularity", cIGraph_modularity, 1); /* in cIGraph_community.c */
|
549
|
-
rb_define_method(cIGraph_community, "community_to_membership", cIGraph_community_to_membership,
|
549
|
+
rb_define_method(cIGraph_community, "community_to_membership", cIGraph_community_to_membership, 3); /* in cIGraph_community.c */
|
550
550
|
rb_define_method(cIGraph_community, "community_spinglass", cIGraph_community_spinglass, 8); /* in cIGraph_community.c */
|
551
551
|
rb_define_method(cIGraph_community, "community_spinglass_single", cIGraph_community_spinglass_single, 5); /* in cIGraph_community.c */
|
552
552
|
rb_define_method(cIGraph_community, "community_leading_eigenvector", cIGraph_community_leading_eigenvector, 1); /* in cIGraph_community.c */
|
@@ -556,7 +556,7 @@ void Init_igraph(){
|
|
556
556
|
rb_define_method(cIGraph_community, "community_eb_get_merges", cIGraph_community_eb_get_merges, 1); /* in cIGraph_community.c */
|
557
557
|
rb_define_method(cIGraph_community, "community_fastgreedy", cIGraph_community_fastgreedy, 0); /* in cIGraph_community.c */
|
558
558
|
|
559
|
-
rb_define_const(cIGraph, "VERSION", rb_str_new2("0.9.
|
559
|
+
rb_define_const(cIGraph, "VERSION", rb_str_new2("0.9.5"));
|
560
560
|
|
561
561
|
rb_define_const(cIGraph, "EDGEORDER_ID", INT2NUM(1));
|
562
562
|
rb_define_const(cIGraph, "EDGEORDER_FROM", INT2NUM(2));
|
@@ -624,7 +624,7 @@ void Init_igraph(){
|
|
624
624
|
rb_define_method(cIGraphMatrix, "ncol", cIGraph_matrix_ncol, 0); /* in cIGraph_matrix.c */
|
625
625
|
rb_define_method(cIGraphMatrix, "max", cIGraph_matrix_max, 0); /* in cIGraph_matrix.c */
|
626
626
|
|
627
|
-
rb_define_method(cIGraphMatrix, "*",
|
627
|
+
rb_define_method(cIGraphMatrix, "*", cIGraph_matrix_scale, 1); /* in cIGraph_matrix.c */
|
628
628
|
|
629
629
|
rb_define_method(cIGraphMatrix, "to_a", cIGraph_matrix_toa, 0); /* in cIGraph_matrix.c */
|
630
630
|
|
data/ext/cIGraph.h
CHANGED
@@ -287,7 +287,7 @@ VALUE cIGraph_cohesion(VALUE self);
|
|
287
287
|
//Community
|
288
288
|
VALUE cIGraph_modularity (VALUE self, VALUE groups);
|
289
289
|
VALUE cIGraph_community_to_membership (VALUE self, VALUE merge,
|
290
|
-
VALUE steps);
|
290
|
+
VALUE steps, VALUE nodes);
|
291
291
|
VALUE cIGraph_community_spinglass (VALUE self, VALUE weights,
|
292
292
|
VALUE spins,
|
293
293
|
VALUE parupdate,
|
@@ -390,7 +390,7 @@ VALUE cIGraph_matrix_nrow(VALUE self);
|
|
390
390
|
VALUE cIGraph_matrix_ncol(VALUE self);
|
391
391
|
VALUE cIGraph_matrix_max (VALUE self);
|
392
392
|
|
393
|
-
VALUE
|
393
|
+
VALUE cIGraph_matrix_scale(VALUE self, VALUE x);
|
394
394
|
|
395
395
|
VALUE cIGraph_matrix_toa(VALUE self);
|
396
396
|
|
data/ext/cIGraph_centrality.c
CHANGED
@@ -161,8 +161,8 @@ VALUE cIGraph_pagerank(VALUE self, VALUE vs, VALUE directed, VALUE niter, VALUE
|
|
161
161
|
//create vertex selector from the vecotr of ids
|
162
162
|
igraph_vs_vector(&vids,&vidv);
|
163
163
|
|
164
|
-
|
165
|
-
NUM2INT(niter),NUM2DBL(eps),NUM2DBL(damping));
|
164
|
+
igraph_pagerank_old(graph,&res,vids,dir,
|
165
|
+
NUM2INT(niter),NUM2DBL(eps),NUM2DBL(damping),0);
|
166
166
|
|
167
167
|
for(i=0;i<igraph_vector_size(&res);i++){
|
168
168
|
rb_ary_push(pagerank,rb_float_new(VECTOR(res)[i]));
|
data/ext/cIGraph_community.c
CHANGED
@@ -34,7 +34,7 @@ VALUE cIGraph_modularity(VALUE self, VALUE groups){
|
|
34
34
|
}
|
35
35
|
}
|
36
36
|
|
37
|
-
igraph_modularity(graph,&membership,&value);
|
37
|
+
igraph_modularity(graph,&membership,&value,NULL);
|
38
38
|
|
39
39
|
igraph_vector_destroy(&membership);
|
40
40
|
|
@@ -53,7 +53,7 @@ VALUE cIGraph_modularity(VALUE self, VALUE groups){
|
|
53
53
|
*
|
54
54
|
*/
|
55
55
|
|
56
|
-
VALUE cIGraph_community_to_membership(VALUE self, VALUE merge, VALUE steps){
|
56
|
+
VALUE cIGraph_community_to_membership(VALUE self, VALUE merge, VALUE steps, VALUE nodes){
|
57
57
|
|
58
58
|
igraph_t *graph;
|
59
59
|
igraph_matrix_t *merges;
|
@@ -69,7 +69,7 @@ VALUE cIGraph_community_to_membership(VALUE self, VALUE merge, VALUE steps){
|
|
69
69
|
|
70
70
|
igraph_vector_init(&membership,0);
|
71
71
|
|
72
|
-
igraph_community_to_membership(
|
72
|
+
igraph_community_to_membership(merges,NUM2INT(nodes),NUM2INT(steps),&membership,NULL);
|
73
73
|
|
74
74
|
max_groupid = 0;
|
75
75
|
for(i=0;i<igraph_vector_size(&membership);i++){
|
@@ -253,6 +253,9 @@ VALUE cIGraph_community_leading_eigenvector(VALUE self, VALUE steps){
|
|
253
253
|
|
254
254
|
igraph_vector_t membership;
|
255
255
|
igraph_matrix_t *merges = malloc(sizeof(igraph_matrix_t));
|
256
|
+
|
257
|
+
igraph_arpack_options_t arpack_opt;
|
258
|
+
igraph_arpack_options_init(&arpack_opt);
|
256
259
|
|
257
260
|
int i,groupid,max_groupid;
|
258
261
|
|
@@ -264,7 +267,7 @@ VALUE cIGraph_community_leading_eigenvector(VALUE self, VALUE steps){
|
|
264
267
|
igraph_vector_init(&membership,0);
|
265
268
|
|
266
269
|
igraph_community_leading_eigenvector(graph,merges,&membership,
|
267
|
-
NUM2INT(steps));
|
270
|
+
NUM2INT(steps),&arpack_opt);
|
268
271
|
|
269
272
|
max_groupid = 0;
|
270
273
|
for(i=0;i<igraph_vector_size(&membership);i++){
|
@@ -316,6 +319,9 @@ VALUE cIGraph_community_leading_eigenvector_naive(VALUE self, VALUE steps){
|
|
316
319
|
igraph_vector_t membership;
|
317
320
|
igraph_matrix_t *merges = malloc(sizeof(igraph_matrix_t));
|
318
321
|
|
322
|
+
igraph_arpack_options_t arpack_opt;
|
323
|
+
igraph_arpack_options_init(&arpack_opt);
|
324
|
+
|
319
325
|
int i,groupid,max_groupid;
|
320
326
|
|
321
327
|
VALUE groups, group, res;
|
@@ -326,7 +332,7 @@ VALUE cIGraph_community_leading_eigenvector_naive(VALUE self, VALUE steps){
|
|
326
332
|
igraph_vector_init(&membership,0);
|
327
333
|
|
328
334
|
igraph_community_leading_eigenvector_naive(graph,merges,&membership,
|
329
|
-
NUM2INT(steps));
|
335
|
+
NUM2INT(steps), &arpack_opt);
|
330
336
|
|
331
337
|
max_groupid = 0;
|
332
338
|
for(i=0;i<igraph_vector_size(&membership);i++){
|
@@ -380,6 +386,9 @@ VALUE cIGraph_community_leading_eigenvector_step(VALUE self, VALUE membership, V
|
|
380
386
|
|
381
387
|
int i,j,groupid,max_groupid,vid;
|
382
388
|
|
389
|
+
igraph_arpack_options_t arpack_opt;
|
390
|
+
igraph_arpack_options_init(&arpack_opt);
|
391
|
+
|
383
392
|
VALUE groups, group, res, eigenvector_a, obj;
|
384
393
|
|
385
394
|
Data_Get_Struct(self, igraph_t, graph);
|
@@ -402,7 +411,7 @@ VALUE cIGraph_community_leading_eigenvector_step(VALUE self, VALUE membership, V
|
|
402
411
|
|
403
412
|
igraph_community_leading_eigenvector_step(graph,&membership_vec,
|
404
413
|
NUM2INT(community),
|
405
|
-
&split,&eigenvector,&eigenvalue);
|
414
|
+
&split,&eigenvector,&eigenvalue,&arpack_opt,NULL);
|
406
415
|
|
407
416
|
max_groupid = 0;
|
408
417
|
for(i=0;i<igraph_vector_size(&membership_vec);i++){
|
@@ -634,7 +643,7 @@ VALUE cIGraph_community_fastgreedy(VALUE self){
|
|
634
643
|
igraph_matrix_init(merges,0,0);
|
635
644
|
igraph_vector_init(&modularity,0);
|
636
645
|
|
637
|
-
igraph_community_fastgreedy(graph,
|
646
|
+
igraph_community_fastgreedy(graph,NULL,
|
638
647
|
merges,&modularity);
|
639
648
|
|
640
649
|
modularity_a = rb_ary_new();
|
data/ext/cIGraph_isomorphism.c
CHANGED
@@ -21,7 +21,7 @@ VALUE cIGraph_isomorphic(VALUE self, VALUE g){
|
|
21
21
|
Data_Get_Struct(self, igraph_t, graph);
|
22
22
|
Data_Get_Struct(g, igraph_t, graph2);
|
23
23
|
|
24
|
-
|
24
|
+
igraph_isomorphic(graph,graph2,&res);
|
25
25
|
|
26
26
|
return res == 0 ? Qfalse : Qtrue;
|
27
27
|
|
@@ -46,7 +46,7 @@ VALUE cIGraph_isomorphic_vf2(VALUE self, VALUE g){
|
|
46
46
|
Data_Get_Struct(self, igraph_t, graph);
|
47
47
|
Data_Get_Struct(g, igraph_t, graph2);
|
48
48
|
|
49
|
-
IGRAPH_CHECK(igraph_isomorphic_vf2(graph,graph2,&res));
|
49
|
+
IGRAPH_CHECK(igraph_isomorphic_vf2(graph,graph2,&res,NULL,NULL));
|
50
50
|
|
51
51
|
return res == 0 ? Qfalse : Qtrue;
|
52
52
|
|
@@ -72,7 +72,7 @@ VALUE cIGraph_isomorphic_vf2(VALUE self, VALUE g){
|
|
72
72
|
*/
|
73
73
|
VALUE cIGraph_isoclass(VALUE self){
|
74
74
|
|
75
|
-
|
75
|
+
igraph_integer_t res = 0;
|
76
76
|
igraph_t *graph;
|
77
77
|
|
78
78
|
Data_Get_Struct(self, igraph_t, graph);
|
@@ -92,7 +92,7 @@ VALUE cIGraph_isoclass(VALUE self){
|
|
92
92
|
*/
|
93
93
|
VALUE cIGraph_isoclass_subgraph(VALUE self, VALUE vs){
|
94
94
|
|
95
|
-
|
95
|
+
igraph_integer_t res = 0;
|
96
96
|
igraph_t *graph;
|
97
97
|
igraph_vector_t vidv;
|
98
98
|
|
data/ext/cIGraph_layout.c
CHANGED
@@ -70,7 +70,7 @@ VALUE cIGraph_layout_fruchterman_reingold(VALUE self,
|
|
70
70
|
NUM2DBL(area),
|
71
71
|
NUM2DBL(coolexp),
|
72
72
|
NUM2DBL(repulserad),
|
73
|
-
use_seed == Qtrue ? 1: 0);
|
73
|
+
use_seed == Qtrue ? 1: 0, NULL);
|
74
74
|
|
75
75
|
return Data_Wrap_Struct(cIGraphMatrix, 0, cIGraph_matrix_free, res);
|
76
76
|
|
@@ -103,7 +103,7 @@ VALUE cIGraph_layout_kamada_kawai(VALUE self,
|
|
103
103
|
NUM2DBL(sigma),
|
104
104
|
NUM2DBL(initemp),
|
105
105
|
NUM2DBL(coolexp),
|
106
|
-
NUM2DBL(kkconst));
|
106
|
+
NUM2DBL(kkconst),0);
|
107
107
|
|
108
108
|
return Data_Wrap_Struct(cIGraphMatrix, 0, cIGraph_matrix_free, res);
|
109
109
|
|
data/ext/cIGraph_layout3d.c
CHANGED
@@ -79,7 +79,7 @@ VALUE cIGraph_layout_fruchterman_reingold_3d(VALUE self,
|
|
79
79
|
NUM2DBL(volume),
|
80
80
|
NUM2DBL(coolexp),
|
81
81
|
NUM2DBL(repulserad),
|
82
|
-
1);
|
82
|
+
1, NULL);
|
83
83
|
|
84
84
|
return Data_Wrap_Struct(cIGraphMatrix, 0, cIGraph_matrix_free, res);
|
85
85
|
|
@@ -112,7 +112,7 @@ VALUE cIGraph_layout_kamada_kawai_3d(VALUE self,
|
|
112
112
|
NUM2DBL(sigma),
|
113
113
|
NUM2DBL(initemp),
|
114
114
|
NUM2DBL(coolexp),
|
115
|
-
NUM2DBL(kkconst));
|
115
|
+
NUM2DBL(kkconst),0);
|
116
116
|
|
117
117
|
return Data_Wrap_Struct(cIGraphMatrix, 0, cIGraph_matrix_free, res);
|
118
118
|
|
data/ext/cIGraph_matrix.c
CHANGED
@@ -191,11 +191,11 @@ VALUE cIGraph_matrix_max(VALUE self){
|
|
191
191
|
}
|
192
192
|
|
193
193
|
/* call-seq:
|
194
|
-
* matrix *
|
194
|
+
* matrix * num -> IGraphMatrix
|
195
195
|
*
|
196
196
|
* Multiples two IGraphMatrix objects together
|
197
197
|
*/
|
198
|
-
VALUE
|
198
|
+
VALUE cIGraph_matrix_scale(VALUE self, VALUE x){
|
199
199
|
|
200
200
|
igraph_matrix_t *m;
|
201
201
|
igraph_matrix_t *n = malloc(sizeof(igraph_matrix_t));
|
@@ -204,7 +204,7 @@ VALUE cIGraph_matrix_multiply(VALUE self, VALUE x){
|
|
204
204
|
Data_Get_Struct(self, igraph_matrix_t, m);
|
205
205
|
|
206
206
|
igraph_matrix_copy(n,m);
|
207
|
-
|
207
|
+
igraph_matrix_scale(n, NUM2DBL(x));
|
208
208
|
|
209
209
|
nobj = Data_Wrap_Struct(cIGraphMatrix, 0, cIGraph_matrix_free, n);
|
210
210
|
|
data/ext/cIGraph_randomisation.c
CHANGED
File without changes
|
data/test/tc_centrality.rb
CHANGED
@@ -16,7 +16,7 @@ class TestGraph < Test::Unit::TestCase
|
|
16
16
|
end
|
17
17
|
def test_pagerank
|
18
18
|
g = IGraph.new(['A','B','C','D','E','B','F','B'],true)
|
19
|
-
assert_equal
|
19
|
+
assert_equal 48, (g.pagerank(['B'],true,100,0.01,0.8)[0] * 100).to_i
|
20
20
|
end
|
21
21
|
def test_constraint
|
22
22
|
g = IGraph.new(['A','B','C','D'],true)
|
data/test/tc_cliques.rb
CHANGED
@@ -8,7 +8,7 @@ class TestGraph < Test::Unit::TestCase
|
|
8
8
|
end
|
9
9
|
def test_largest_cliques
|
10
10
|
g = IGraph.new(['A','B','C','D','A','E','B','E'],false)
|
11
|
-
assert_equal [['A','B','E'
|
11
|
+
assert_equal [['A','B','E']], g.largest_cliques()
|
12
12
|
end
|
13
13
|
def test_maximal_cliques
|
14
14
|
g = IGraph.new(['A','B','C','D','A','E','B','E'],false)
|
data/test/tc_community.rb
CHANGED
@@ -31,15 +31,15 @@ class TestGraph < Test::Unit::TestCase
|
|
31
31
|
g.community_leading_eigenvector_step([['A','B','C','D','E','F']],0)
|
32
32
|
assert_equal [['A','B','C'],['D','E','F']], groups
|
33
33
|
assert split
|
34
|
-
assert_in_delta 0.433, eigenvec[0], 0.
|
35
|
-
assert_in_delta
|
34
|
+
assert_in_delta 0.433, eigenvec[0], 0.02
|
35
|
+
assert_in_delta 1.730, eigenval, 0.02
|
36
36
|
|
37
37
|
end
|
38
38
|
|
39
39
|
def test_random_walk
|
40
40
|
g = IGraph.new(['A','B','B','C','A','C','C','D','D','E','E','F','D','F'],false)
|
41
41
|
merges,modularity = g.community_walktrap([],10)
|
42
|
-
groups = g.community_to_membership(merges,4)
|
42
|
+
groups = g.community_to_membership(merges,4,6)
|
43
43
|
assert_equal [['A','B','C'],['D','E','F']], groups.sort
|
44
44
|
assert_in_delta 0.19, modularity[3], 0.1
|
45
45
|
end
|
@@ -48,14 +48,14 @@ class TestGraph < Test::Unit::TestCase
|
|
48
48
|
|
49
49
|
g = IGraph.new(['A','B','B','C','A','C','C','D','D','E','E','F','D','F'],false)
|
50
50
|
merges,result,edge_betw,bridges = g.community_edge_betweenness(false)
|
51
|
-
groups = g.community_to_membership(merges,4)
|
51
|
+
groups = g.community_to_membership(merges,4,6)
|
52
52
|
assert_equal [['A','B','C'],['D','E','F']], groups.sort
|
53
53
|
assert_equal 3, result[0]
|
54
54
|
assert_equal 9, edge_betw[0]
|
55
55
|
assert_equal 7, bridges[0]
|
56
56
|
|
57
57
|
merges,bridges = g.community_eb_get_merges(result)
|
58
|
-
groups = g.community_to_membership(merges,4)
|
58
|
+
groups = g.community_to_membership(merges,4,6)
|
59
59
|
assert_equal [['A','B','C'],['D','E','F']], groups.sort
|
60
60
|
assert_equal 7, bridges[0]
|
61
61
|
|
@@ -64,7 +64,7 @@ class TestGraph < Test::Unit::TestCase
|
|
64
64
|
def test_fastgreedy
|
65
65
|
g = IGraph.new(['A','B','B','C','A','C','C','D','D','E','E','F','D','F'],false)
|
66
66
|
merges,mod = g.community_fastgreedy
|
67
|
-
groups = g.community_to_membership(merges,4)
|
67
|
+
groups = g.community_to_membership(merges,4,6)
|
68
68
|
assert_equal [['A','B','C'],['D','E','F']], groups.sort
|
69
69
|
assert_in_delta 0.19, mod[3], 0.1
|
70
70
|
end
|
data/test/tc_file_read_write.rb
CHANGED
@@ -167,7 +167,11 @@ class TestGraph < Test::Unit::TestCase
|
|
167
167
|
return
|
168
168
|
end
|
169
169
|
g = nil
|
170
|
+
err = StringIO.open('','w')
|
171
|
+
$stderr = err
|
170
172
|
g = IGraph::FileRead.read_graph_graphml(StringIO.new(Graphml),0)
|
173
|
+
assert_equal "warning: unknown attribute key in GraphML file, ignoring attribute\n", err.string.sub(/.*?:\d+: /,'')
|
174
|
+
$stderr = STDERR
|
171
175
|
assert_instance_of IGraph, g
|
172
176
|
assert_equal '2006-11-12', g.attributes['date']
|
173
177
|
h = g.dup
|
data/test/tc_randomisation.rb
CHANGED
File without changes
|
metadata
CHANGED
@@ -1,33 +1,28 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.9.4
|
3
|
-
specification_version: 1
|
4
2
|
name: igraph
|
5
3
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.9.
|
7
|
-
date: 2007-11-20 00:00:00 +09:00
|
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
|
-
require_paths:
|
10
|
-
- test
|
11
|
-
email: alexg@kuicr.kyoto-u.ac.jp
|
12
|
-
homepage: http://igraph.rubyforge.org/
|
13
|
-
rubyforge_project: igraph
|
14
|
-
description: 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.
|
15
|
-
autorequire:
|
16
|
-
default_executable:
|
17
|
-
bindir: bin
|
18
|
-
has_rdoc: true
|
19
|
-
required_ruby_version: !ruby/object:Gem::Version::Requirement
|
20
|
-
requirements:
|
21
|
-
- - ">"
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: 0.0.0
|
24
|
-
version:
|
4
|
+
version: 0.9.5
|
25
5
|
platform: ruby
|
26
|
-
signing_key:
|
27
|
-
cert_chain:
|
28
|
-
post_install_message:
|
29
6
|
authors:
|
30
7
|
- Alex Gutteridge
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2008-04-25 00:00:00 +01:00
|
13
|
+
default_executable:
|
14
|
+
dependencies: []
|
15
|
+
|
16
|
+
description: 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.
|
17
|
+
email: ag357@cam.ac.uk
|
18
|
+
executables: []
|
19
|
+
|
20
|
+
extensions:
|
21
|
+
- ext/extconf.rb
|
22
|
+
extra_rdoc_files:
|
23
|
+
- README.txt
|
24
|
+
- History.txt
|
25
|
+
- License.txt
|
31
26
|
files:
|
32
27
|
- History.txt
|
33
28
|
- License.txt
|
@@ -110,23 +105,35 @@ files:
|
|
110
105
|
- test/tc_transitivity.rb
|
111
106
|
- test/tc_vertex_neighbourhood.rb
|
112
107
|
- test/test_all.rb
|
113
|
-
|
114
|
-
|
108
|
+
has_rdoc: true
|
109
|
+
homepage: http://igraph.rubyforge.org/
|
110
|
+
post_install_message:
|
115
111
|
rdoc_options:
|
116
112
|
- --exclude
|
117
113
|
- test/*
|
118
114
|
- --main
|
119
115
|
- README.txt
|
120
116
|
- --inline-source
|
121
|
-
|
122
|
-
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
117
|
+
require_paths:
|
118
|
+
- test
|
119
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
120
|
+
requirements:
|
121
|
+
- - ">="
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: "0"
|
124
|
+
version:
|
125
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
126
|
+
requirements:
|
127
|
+
- - ">="
|
128
|
+
- !ruby/object:Gem::Version
|
129
|
+
version: "0"
|
130
|
+
version:
|
129
131
|
requirements: []
|
130
132
|
|
131
|
-
|
132
|
-
|
133
|
+
rubyforge_project: igraph
|
134
|
+
rubygems_version: 1.1.0
|
135
|
+
signing_key:
|
136
|
+
specification_version: 2
|
137
|
+
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.
|
138
|
+
test_files:
|
139
|
+
- test/test_all.rb
|