- 21 Dec, 2007 1 commit
-
-
Tiago Peixoto authored
Everything was moved into the graph_tool directory, which should have, after installation, the following structure: graph_tool/ Top-level package __init__.py Initialize the graph_tool package libgraph_tool.so libgraph_tool submodule libgraph_tool.la libtool file for libgraph_tool include/ C++ include files for dynamically compiled code
-
- 17 Dec, 2007 1 commit
-
-
Tiago Peixoto authored
Some visibility voodoo is necessary to ensure that RTTI work properly across DSO boundaries, which is necessary to properly handle dynamic property maps and such. Additionally, the action template must have a different name each time the action code changes, to avoid additional weirdness. This also adds some other utility functions/typedefs to make writing "inline" c++ code easier.
-
- 14 Dec, 2007 2 commits
-
-
Tiago Peixoto authored
add_edge_property() should return a edge property not a vertex_property
-
Tiago Peixoto authored
It is now possible to run arbitrary "inline" C++ code from python, using scipy.weave, as such: g = graph_tool.Graph() g.load("foo.xml") value = 2.0 g.run_action('cout << num_vertices(g) << " " << value << endl;', ["value"]); The code gets compiled the first time, and is reused after that. Python local and global variables can be passed to C++, as shown above, by specifying a list of passed variables as the second argument.
-
- 13 Dec, 2007 1 commit
-
-
Tiago Peixoto authored
-
- 06 Dec, 2007 2 commits
-
-
Tiago Peixoto authored
The graph object passed to the edit function is now a instance of the Graph class which wraps GraphInterface, not a GraphInterface instance.
-
Tiago Peixoto authored
Graphs can now be loaded "lazily" with the lazy_load() function, which works just like load(), but doesn't actually load the graph, which is delayed until the graph is accessed for the first time, e.g. import graph_tool g = graph_tool.Graph() g.lazy_load("example.xml") g.number_of_vertices() # <- the graph is only loaded here
-
- 03 Dec, 2007 6 commits
-
-
Tiago Peixoto authored
Move remaining parallelism check out of the outer/inner loops and into the parallel_check() function.
-
Ale Abdo authored
3) missing parallel edge check in uncorrelated strategy 2) "_in()" for target and source of "target swap edge" 1) order of arguments of swap_edge_triad::parallel_check melodrama time... "premature optimization is the root of all evil" "careless abstraction are the fruits of its tree"
-
Tiago Peixoto authored
-
Tiago Peixoto authored
-
Tiago Peixoto authored
-
Tiago Peixoto authored
The check for parallel edges was cleaned up and abstracted into a function, and other minor things were changed. Code comments were added to places where it might have been hard to understand.
-
- 30 Nov, 2007 2 commits
-
-
Tiago Peixoto authored
Improve formatting of src/graph/graph_rewiring.cc (line breaks at column 80, typedefs, trailing whitespace removal, etc) Conflicts: src/graph-tool src/graph/graph_bind.cc
-
Tiago Peixoto authored
Property maps can now be obtained as such: weight = g.edge_properties['weight'] print weight[v] # v is a Vertex object weight[v] = 2.0 # and so on... The list of properties is obtained from g.vertex_properties, g.edge_properties and g.graph_properties, which can be read as dictionaries. The last can be set also, as such: g.graph_properties = {foo:"bar", baz:42} Functions to add and remove vertices or adges were also added (add_{vertex|edge}, remove_{vertex|edgge}). Vertex and Edge types can also now be printed for convenience, as such: for v in g.vertices(): print v for e in g.edges(): print e which results, for example, in: 0 1 2 3 4 5 6 (0,1) (1,2) (2,6) (3,4) (4,5) (4,2) (5,6) (6,1) (this also adds the forgotten graph_tool.py file, which was previously on .gitignore)
-
- 28 Nov, 2007 1 commit
-
-
Ale Abdo authored
Major changes to both correlated and uncorrelated rewiring code. Both cases are now functional and use iterative shuffling. Uncorrelated picks edges to rewire directly, correlated picks vertices in order to choose edges.
-
- 26 Nov, 2007 3 commits
-
-
Tiago Peixoto authored
-
-
Tiago Peixoto authored
Vertices and edges can be accessed from the graph class, as such: import graph_tool g = graph_tool.Graph() for v in g.vertices(): for e in v.out_edges(): # do something... Additionally, the --edit-{vertex|edge|graph}-property was ported to the new interface, and is working again, as it used to. The Vertex and Edge class no longer have the 'get_property' and 'set_property' method. They'll be replaced by a new method of accessing property maps.
-
- 20 Nov, 2007 1 commit
-
-
Tiago Peixoto authored
The program was split in two parts: 1. A python module, graph_tool.py, which encapsulates the graph manipulation under a Graph class. Now the following can be done: import graph_tool g1 = graph_tool.Graph() g2 = graph_tool.Graph() g1.load("foo.xml") g2.load("bar.xml") print g1.number_of_vertices(), g2.number_of_vertices() 2. A standalone command line tool, graph-tool, which imports graph_tool.py, and exposes the Graph methods as command line options. The whole command line engine was thus (once again) entirely rewritten. It is now Crack-Free™, and simply mirrors the methods of the Graph class as command line options, using, for this, the beauty of function decorators. It classifies now, I believe, as Pythonic™.
-
- 11 Nov, 2007 1 commit
-
-
Tiago Peixoto authored
-
- 10 Nov, 2007 2 commits
-
-
Tiago Peixoto authored
This fixes a bug where properties with 'long long' types were not handled properly through the python interface.
-
Tiago Peixoto authored
-
- 05 Nov, 2007 1 commit
-
-
Ale Abdo authored
Several changes in the random rewiring code, making it fully functional for the correlated case. The reshuffling operations lag in efficiency, even though already the algorithm runs in little time.
-
- 04 Nov, 2007 4 commits
-
-
-
Ale Abdo authored
Merge branch 'master' of git://finn.forked.de/~count0/stuff/workspace/graph-tool into rewiring-merge
-
Tiago Peixoto authored
Line breaks at column 80 were added, and all trailing whitespace was deleted. Code comments were modified and some more were added.
-
Tiago Peixoto authored
It should be 'size_t' instead of 'long'.
-
- 27 Oct, 2007 1 commit
-
-
Ale Abdo authored
bool entries in option random-rewire were stated as string, causing graph-tool to crash before loading.
-
- 24 Oct, 2007 7 commits
-
-
Ale Abdo authored
-
Tiago Peixoto authored
This fixes the same problem as commit 6663be71, but which arises when a filter range boundary is -inf (such as "<=100").
-
Ale Abdo authored
-
Ale Abdo authored
A comma (,) was missing before the rewiring option in src/graph-tool
-
Ale Abdo authored
-
Tiago Peixoto authored
When only one of vertex or edge filtering was disabled, the allowed range of the disabled filter was set to ]numeric_limits<double>::min(), numeric_limits<double>::max()[, and the selected filtering property was the respective index. But according to the STL documentation from GCC, numeric_limits<>::min() returns: "The minimum finite value, or for floating types with denormalization, the minimum positive normalized value." which is always positive for double (!), thus introducing a weird regression, where the first vertex (index 0) is always filtered out if only the edge filter is active, and vice-versa.
-
Tiago Peixoto authored
-
- 23 Oct, 2007 4 commits
-
-
Ale Abdo authored
and now we have a good consistent branch where the removal of rewiring has been properly reverted before new work is added, so it can be easily merged with the master branch in the future. Conflicts: src/graph-tool
-
Tiago Peixoto authored
The Histogram type 'hist_t' should have a 'double' value, so that counts of 1/2 can be added when it's known things are going to be counted twice. (and I don't know what that 'double_t' thing was doing there)
-
git://git.forked.de/graph-toolAle Abdo authored
-