1. 05 Sep, 2009 1 commit
    • Tiago Peixoto's avatar
      Include PropertyMap.a property · 5540d1eb
      Tiago Peixoto authored
      This provides convienent access to the underlying array values, such as:
      
         p.a = random(len(p.a))
      
      instead of:
      
         p.get_array()[:] = random(len(p.get_array()))
      
      (the latter is still supported)
      5540d1eb
  2. 03 Sep, 2009 1 commit
  3. 16 Aug, 2009 1 commit
  4. 13 Aug, 2009 1 commit
    • Tiago Peixoto's avatar
      Reorganize exceptions thrown · f257d426
      Tiago Peixoto authored
      No longer only thrown GraphError upon any error, but instead throw
      specific exceptions which are more meaninful and are mapped to standard
      python exceptions, such as IOError, ValueError and RuntimeError.
      f257d426
  5. 07 Aug, 2009 1 commit
  6. 02 Aug, 2009 1 commit
  7. 15 Jul, 2009 1 commit
  8. 11 Jun, 2009 1 commit
  9. 23 May, 2009 1 commit
  10. 15 May, 2009 2 commits
  11. 11 May, 2009 2 commits
  12. 26 Apr, 2009 1 commit
  13. 25 Apr, 2009 1 commit
  14. 14 Apr, 2009 3 commits
  15. 09 Mar, 2009 2 commits
  16. 22 Feb, 2009 2 commits
  17. 17 Feb, 2009 1 commit
    • Tiago Peixoto's avatar
      Add convenient neighbour traversal functions · 52eaa36f
      Tiago Peixoto authored
      Add support for v.{out|in}_neighbours(), for direct iteration over the
      neighbours, as well as v.all_edges() and v.all_neighbours(). This also
      properly exports the Vertex and Edge classes, with docstrings.
      52eaa36f
  18. 06 Feb, 2009 3 commits
  19. 18 Jan, 2009 1 commit
  20. 26 Oct, 2008 1 commit
  21. 24 Sep, 2008 2 commits
    • Tiago Peixoto's avatar
      Fix edge indexing problem when modifying graph · dc184b46
      Tiago Peixoto authored
      This fixes a rather central bug, which causes duplicated indexes if
      edges are removed and then new ones are added. Edge indexes are now
      recycled as they are removed and then new ones are added. This still
      guarantees O(1) complexity when adding or removing edges.
      dc184b46
    • Tiago Peixoto's avatar
      Add load_graph utility function · c804ff8e
      Tiago Peixoto authored
      Avoids having to do
      
          g = Graph()
          g.load("foo")
      
      each time. Now one can do simply,
      
          g = load_graph("foo")
      
      Fantastic.
      c804ff8e
  22. 15 Aug, 2008 1 commit
  23. 22 Jul, 2008 1 commit
  24. 21 Jul, 2008 1 commit
  25. 15 Jul, 2008 1 commit
  26. 17 Jun, 2008 1 commit
    • Tiago Peixoto's avatar
      Externalize property maps by default · e984bf8e
      Tiago Peixoto authored
      This commit removes the internal property maps from the GraphInterface
      class, and makes all property maps external by default. The internal
      property maps were moved to the python layer.
      e984bf8e
  27. 10 Apr, 2008 1 commit
    • Tiago Peixoto's avatar
      Correlations algorithms refactoring · 360a3395
      Tiago Peixoto authored
      The whole histogram code has been redone, and the code has been
      simplified. The three-point vertex-edge-vertex correlation has been
      scrapped, since it's not frequently used, and would make compilation
      even more expensive.
      
      This also adds some missing files to the generation routine.
      360a3395
  28. 27 Mar, 2008 1 commit
    • Tiago Peixoto's avatar
      Port graph I/O to new filtering engine, enable graph pickling, and fix several issues · 99bf21c8
      Tiago Peixoto authored
      Now graphml files properly contain all the supported value types, which
      are all perfectly preserved when read (floating point data is now saved
      in hexadecimal format). Several other improvements were made, such as
      the ability to read and write to python file-like objects.
      
      It is also now possible to have arbitrary python object properties, and
      store them persistently (which is done internally with the pickling
      interface).
      
      vector<bool> was totally abolished, since its implementation is quite
      broken. See: http://www.gotw.ca/publications/N1211.pdf and
      http://www.gotw.ca/publications/N1185.pdf Now a uint8_t (aka. char) is
      used in graph properties instead of a bool.
      
      Graph types can now be fully pickled (this may not be feasible
      memory-wise if the graph is too large, since the whole XML
      representation is dumped to a string before it is saved on disc).
      99bf21c8
  29. 17 Feb, 2008 1 commit
    • Tiago Peixoto's avatar
      Split libgraph_tool into sub-modules and add test cases · 3cfff0cb
      Tiago Peixoto authored
      This commit splits libraph_tool into different libraries:
       
         - libgraph_tool_core
         - libgraph_tool_clustering (*)
         - libgraph_tool_community (*)
         - libgraph_tool_correlations (*)
         - libgraph_tool_distance (*)
         - libgraph_tool_generation (*)
         - libgraph_tool_layout (*)
         - libgraph_tool_misc (*)
         - libgraph_tool_stats (*)
      
      It also adds the python sub-module 'test', which provides extensive unit
      testing of the core functionality. The core library is fully functional
      and all test pass successfully.
      
      (*) -> module needs to be ported to new refactoring, and does not yet build
      3cfff0cb