COIN-OR::LEMON - Graph Library

Changes in / [1071:879fcb781086:1070:ee9bac10f58e] in lemon-main


Ignore:
Files:
3 added
6 deleted
49 edited

Legend:

Unmodified
Added
Removed
  • CMakeLists.txt

    r1066 r1017  
    6262FIND_PACKAGE(Doxygen)
    6363FIND_PACKAGE(Ghostscript)
    64 
    65 SET(LEMON_ENABLE_GLPK YES CACHE STRING "Enable GLPK solver backend.")
    66 SET(LEMON_ENABLE_ILOG YES CACHE STRING "Enable ILOG (CPLEX) solver backend.")
    67 SET(LEMON_ENABLE_COIN YES CACHE STRING "Enable COIN solver backend.")
    68 
    69 IF(LEMON_ENABLE_GLPK)
    70   FIND_PACKAGE(GLPK 4.33)
    71 ENDIF(LEMON_ENABLE_GLPK)
    72 IF(LEMON_ENABLE_ILOG)
    73   FIND_PACKAGE(ILOG)
    74 ENDIF(LEMON_ENABLE_ILOG)
    75 IF(LEMON_ENABLE_COIN)
    76   FIND_PACKAGE(COIN)
    77 ENDIF(LEMON_ENABLE_COIN)
    78 
    79 IF(GLPK_FOUND)
    80   SET(LEMON_HAVE_LP TRUE)
    81   SET(LEMON_HAVE_MIP TRUE)
    82   SET(LEMON_HAVE_GLPK TRUE)
    83 ENDIF(GLPK_FOUND)
    84 IF(ILOG_FOUND)
    85   SET(LEMON_HAVE_LP TRUE)
    86   SET(LEMON_HAVE_MIP TRUE)
    87   SET(LEMON_HAVE_CPLEX TRUE)
    88 ENDIF(ILOG_FOUND)
    89 IF(COIN_FOUND)
    90   SET(LEMON_HAVE_LP TRUE)
    91   SET(LEMON_HAVE_MIP TRUE)
    92   SET(LEMON_HAVE_CLP TRUE)
    93   SET(LEMON_HAVE_CBC TRUE)
    94 ENDIF(COIN_FOUND)
    95 
    96 IF(ILOG_FOUND)
    97   SET(DEFAULT_LP "CPLEX")
    98   SET(DEFAULT_MIP "CPLEX")
    99 ELSEIF(COIN_FOUND)
    100   SET(DEFAULT_LP "CLP")
    101   SET(DEFAULT_MIP "CBC")
    102 ELSEIF(GLPK_FOUND)
    103   SET(DEFAULT_LP "GLPK")
    104   SET(DEFAULT_MIP "GLPK")
    105 ENDIF()
    106 
    107 IF(NOT LEMON_DEFAULT_LP OR
    108     (NOT ILOG_FOUND AND (LEMON_DEFAULT_LP STREQUAL "CPLEX")) OR
    109     (NOT COIN_FOUND AND (LEMON_DEFAULT_LP STREQUAL "CLP")) OR
    110     (NOT GLPK_FOUND AND (LEMON_DEFAULT_LP STREQUAL "GLPK")))
    111   SET(LEMON_DEFAULT_LP ${DEFAULT_LP} CACHE STRING
    112     "Default LP solver backend (GLPK, CPLEX or CLP)" FORCE)
    113 ENDIF()
    114 IF(NOT LEMON_DEFAULT_MIP OR
    115     (NOT ILOG_FOUND AND (LEMON_DEFAULT_MIP STREQUAL "CPLEX")) OR
    116     (NOT COIN_FOUND AND (LEMON_DEFAULT_MIP STREQUAL "CBC")) OR
    117     (NOT GLPK_FOUND AND (LEMON_DEFAULT_MIP STREQUAL "GLPK")))
    118   SET(LEMON_DEFAULT_MIP ${DEFAULT_MIP} CACHE STRING
    119     "Default MIP solver backend (GLPK, CPLEX or CBC)" FORCE)
    120 ENDIF()
    121 
     64FIND_PACKAGE(GLPK 4.33)
     65FIND_PACKAGE(CPLEX)
     66FIND_PACKAGE(COIN)
    12267
    12368IF(DEFINED ENV{LEMON_CXX_WARNING})
  • INSTALL

    r1065 r1040  
    135135
    136136 
    137 -DLEMON_ENABLE_GLPK=NO
    138 -DLEMON_ENABLE_COIN=NO
    139 -DLEMON_ENABLE_ILOG=NO
    140 
    141   Enable optional third party libraries. They are all enabled by default.
    142 
    143 -DLEMON_DEFAULT_LP=GLPK
    144 
    145   Sets the default LP solver backend. The supported values are
    146   CPLEX, CLP and GLPK. By default, it is set to the first one which
    147   is enabled and succesfully discovered.
    148 
    149 -DLEMON_DEFAULT_MIP=GLPK
    150 
    151   Sets the default MIP solver backend. The supported values are
    152   CPLEX, CBC and GLPK. By default, it is set to the first one which
    153   is enabled and succesfully discovered.
    154 
    155137-DGLPK_ROOT_DIR=DIRECTORY
    156138-DCOIN_ROOT_DIR=DIRECTORY
    157 -DILOG_ROOT_DIR=DIRECTORY
     139-DCPLEX_ROOT_DIR=DIRECTORY
    158140
    159   Root directory prefixes of optional third party libraries.
     141  Install root directory prefixes of optional third party libraries.
    160142
    161143Makefile Variables
  • cmake/FindCOIN.cmake

    r1064 r973  
    109109  COIN_BZ2_LIBRARY
    110110)
     111
     112IF(COIN_FOUND)
     113  SET(LEMON_HAVE_LP TRUE)
     114  SET(LEMON_HAVE_MIP TRUE)
     115  SET(LEMON_HAVE_CLP TRUE)
     116  SET(LEMON_HAVE_CBC TRUE)
     117ENDIF(COIN_FOUND)
  • cmake/FindGLPK.cmake

    r1064 r638  
    5454
    5555MARK_AS_ADVANCED(GLPK_LIBRARY GLPK_INCLUDE_DIR GLPK_BIN_DIR)
     56
     57IF(GLPK_FOUND)
     58  SET(LEMON_HAVE_LP TRUE)
     59  SET(LEMON_HAVE_MIP TRUE)
     60  SET(LEMON_HAVE_GLPK TRUE)
     61ENDIF(GLPK_FOUND)
  • doc/CMakeLists.txt

    r1053 r1041  
    3535    COMMAND ${CMAKE_COMMAND} -E remove_directory gen-images
    3636    COMMAND ${CMAKE_COMMAND} -E make_directory gen-images
    37     COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r20 -sOutputFile=gen-images/grid_graph.png ${CMAKE_CURRENT_SOURCE_DIR}/images/grid_graph.eps
    38     COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r32 -sOutputFile=gen-images/adaptors2.png ${CMAKE_CURRENT_SOURCE_DIR}/images/adaptors2.eps
    39     COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r32 -sOutputFile=gen-images/connected_components.png ${CMAKE_CURRENT_SOURCE_DIR}/images/connected_components.eps
    40     COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r32 -sOutputFile=gen-images/strongly_connected_components.png ${CMAKE_CURRENT_SOURCE_DIR}/images/strongly_connected_components.eps
    41     COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r32 -sOutputFile=gen-images/node_biconnected_components.png ${CMAKE_CURRENT_SOURCE_DIR}/images/node_biconnected_components.eps
    42     COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r32 -sOutputFile=gen-images/edge_biconnected_components.png ${CMAKE_CURRENT_SOURCE_DIR}/images/edge_biconnected_components.eps
    43     COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r32 -sOutputFile=gen-images/bipartite_partitions.png ${CMAKE_CURRENT_SOURCE_DIR}/images/bipartite_partitions.eps
    44     COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r24 -sOutputFile=gen-images/matching.png ${CMAKE_CURRENT_SOURCE_DIR}/images/matching.eps
    45     COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r24 -sOutputFile=gen-images/bipartite_matching.png ${CMAKE_CURRENT_SOURCE_DIR}/images/bipartite_matching.eps
    46     COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r40 -sOutputFile=gen-images/planar.png ${CMAKE_CURRENT_SOURCE_DIR}/images/planar.eps
    47     COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r24 -sOutputFile=gen-images/tsp.png ${CMAKE_CURRENT_SOURCE_DIR}/images/tsp.eps
    48     COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r8 -sOutputFile=gen-images/nodeshape_0.png ${CMAKE_CURRENT_SOURCE_DIR}/images/nodeshape_0.eps
    49     COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r8 -sOutputFile=gen-images/nodeshape_1.png ${CMAKE_CURRENT_SOURCE_DIR}/images/nodeshape_1.eps
    50     COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r8 -sOutputFile=gen-images/nodeshape_2.png ${CMAKE_CURRENT_SOURCE_DIR}/images/nodeshape_2.eps
    51     COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r8 -sOutputFile=gen-images/nodeshape_3.png ${CMAKE_CURRENT_SOURCE_DIR}/images/nodeshape_3.eps
    52     COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r8 -sOutputFile=gen-images/nodeshape_4.png ${CMAKE_CURRENT_SOURCE_DIR}/images/nodeshape_4.eps
     37    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/bipartite_matching.png ${CMAKE_CURRENT_SOURCE_DIR}/images/bipartite_matching.eps
     38    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/bipartite_partitions.png ${CMAKE_CURRENT_SOURCE_DIR}/images/bipartite_partitions.eps
     39    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/connected_components.png ${CMAKE_CURRENT_SOURCE_DIR}/images/connected_components.eps
     40    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/edge_biconnected_components.png ${CMAKE_CURRENT_SOURCE_DIR}/images/edge_biconnected_components.eps
     41    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/grid_graph.png ${CMAKE_CURRENT_SOURCE_DIR}/images/grid_graph.eps
     42    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/matching.png ${CMAKE_CURRENT_SOURCE_DIR}/images/matching.eps
     43    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/node_biconnected_components.png ${CMAKE_CURRENT_SOURCE_DIR}/images/node_biconnected_components.eps
     44    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/nodeshape_0.png ${CMAKE_CURRENT_SOURCE_DIR}/images/nodeshape_0.eps
     45    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/nodeshape_1.png ${CMAKE_CURRENT_SOURCE_DIR}/images/nodeshape_1.eps
     46    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/nodeshape_2.png ${CMAKE_CURRENT_SOURCE_DIR}/images/nodeshape_2.eps
     47    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/nodeshape_3.png ${CMAKE_CURRENT_SOURCE_DIR}/images/nodeshape_3.eps
     48    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/nodeshape_4.png ${CMAKE_CURRENT_SOURCE_DIR}/images/nodeshape_4.eps
     49    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/planar.png ${CMAKE_CURRENT_SOURCE_DIR}/images/planar.eps
     50    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/strongly_connected_components.png ${CMAKE_CURRENT_SOURCE_DIR}/images/strongly_connected_components.eps
     51    COMMAND ${GHOSTSCRIPT_EXECUTABLE} ${GHOSTSCRIPT_OPTIONS} -r18 -sOutputFile=gen-images/tsp.png ${CMAKE_CURRENT_SOURCE_DIR}/images/tsp.eps
    5352    COMMAND ${CMAKE_COMMAND} -E remove_directory html
     53    COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/scripts/bib2dox.py ${CMAKE_CURRENT_SOURCE_DIR}/references.bib >references.dox
    5454    COMMAND ${DOXYGEN_EXECUTABLE} Doxyfile
    5555    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
  • doc/Doxyfile.in

    r1053 r1040  
    7878FILE_VERSION_FILTER    =
    7979LAYOUT_FILE            = "@abs_top_srcdir@/doc/DoxygenLayout.xml"
    80 CITE_BIB_FILES         = "@abs_top_srcdir@/doc/references.bib"
    8180#---------------------------------------------------------------------------
    8281# configuration options related to warning and progress messages
  • doc/groups.dox

    r1053 r1038  
    113113detailed documentation of particular adaptors.
    114114
    115 Since the adaptor classes conform to the \ref graph_concepts "graph concepts",
    116 an adaptor can even be applied to another one.
    117 The following image illustrates a situation when a \ref SubDigraph adaptor
    118 is applied on a digraph and \ref Undirector is applied on the subgraph.
    119 
    120 \image html adaptors2.png
    121 \image latex adaptors2.eps "Using graph adaptors" width=\textwidth
    122 
    123115The behavior of graph adaptors can be very different. Some of them keep
    124116capabilities of the original graph while in other cases this would be
     
    318310This group contains the common graph search algorithms, namely
    319311\e breadth-first \e search (BFS) and \e depth-first \e search (DFS)
    320 \cite clrs01algorithms.
     312\ref clrs01algorithms.
    321313*/
    322314
     
    327319
    328320This group contains the algorithms for finding shortest paths in digraphs
    329 \cite clrs01algorithms.
     321\ref clrs01algorithms.
    330322
    331323 - \ref Dijkstra algorithm for finding shortest paths from a source node
     
    349341
    350342This group contains the algorithms for finding minimum cost spanning
    351 trees and arborescences \cite clrs01algorithms.
     343trees and arborescences \ref clrs01algorithms.
    352344*/
    353345
     
    358350
    359351This group contains the algorithms for finding maximum flows and
    360 feasible circulations \cite clrs01algorithms, \cite amo93networkflows.
     352feasible circulations \ref clrs01algorithms, \ref amo93networkflows.
    361353
    362354The \e maximum \e flow \e problem is to find a flow of maximum value between
     
    374366LEMON contains several algorithms for solving maximum flow problems:
    375367- \ref EdmondsKarp Edmonds-Karp algorithm
    376   \cite edmondskarp72theoretical.
     368  \ref edmondskarp72theoretical.
    377369- \ref Preflow Goldberg-Tarjan's preflow push-relabel algorithm
    378   \cite goldberg88newapproach.
     370  \ref goldberg88newapproach.
    379371- \ref DinitzSleatorTarjan Dinitz's blocking flow algorithm with dynamic trees
    380   \cite dinic70algorithm, \cite sleator83dynamic.
     372  \ref dinic70algorithm, \ref sleator83dynamic.
    381373- \ref GoldbergTarjan !Preflow push-relabel algorithm with dynamic trees
    382   \cite goldberg88newapproach, \cite sleator83dynamic.
     374  \ref goldberg88newapproach, \ref sleator83dynamic.
    383375
    384376In most cases the \ref Preflow algorithm provides the
     
    400392
    401393This group contains the algorithms for finding minimum cost flows and
    402 circulations \cite amo93networkflows. For more information about this
    403 problem and its dual solution, see: \ref min_cost_flow
     394circulations \ref amo93networkflows. For more information about this
     395problem and its dual solution, see \ref min_cost_flow
    404396"Minimum Cost Flow Problem".
    405397
    406398LEMON contains several algorithms for this problem.
    407399 - \ref NetworkSimplex Primal Network Simplex algorithm with various
    408    pivot strategies \cite dantzig63linearprog, \cite kellyoneill91netsimplex.
     400   pivot strategies \ref dantzig63linearprog, \ref kellyoneill91netsimplex.
    409401 - \ref CostScaling Cost Scaling algorithm based on push/augment and
    410    relabel operations \cite goldberg90approximation, \cite goldberg97efficient,
    411    \cite bunnagel98efficient.
     402   relabel operations \ref goldberg90approximation, \ref goldberg97efficient,
     403   \ref bunnagel98efficient.
    412404 - \ref CapacityScaling Capacity Scaling algorithm based on the successive
    413    shortest path method \cite edmondskarp72theoretical.
     405   shortest path method \ref edmondskarp72theoretical.
    414406 - \ref CycleCanceling Cycle-Canceling algorithms, two of which are
    415    strongly polynomial \cite klein67primal, \cite goldberg89cyclecanceling.
     407   strongly polynomial \ref klein67primal, \ref goldberg89cyclecanceling.
    416408
    417409In general, \ref NetworkSimplex and \ref CostScaling are the most efficient
     
    429421which is capable of handling real-valued arc costs (other numerical
    430422data are required to be integer).
    431 
    432 For more details about these implementations and for a comprehensive
    433 experimental study, see the paper \cite KiralyKovacs12MCF.
    434 It also compares these codes to other publicly available
    435 minimum cost flow solvers.
    436423*/
    437424
     
    472459
    473460This group contains the algorithms for finding minimum mean cycles
    474 \cite amo93networkflows, \cite karp78characterization.
     461\ref amo93networkflows, \ref karp78characterization.
    475462
    476463The \e minimum \e mean \e cycle \e problem is to find a directed cycle
     
    488475
    489476LEMON contains three algorithms for solving the minimum mean cycle problem:
    490 - \ref KarpMmc Karp's original algorithm \cite karp78characterization.
     477- \ref KarpMmc Karp's original algorithm \ref karp78characterization.
    491478- \ref HartmannOrlinMmc Hartmann-Orlin's algorithm, which is an improved
    492   version of Karp's algorithm \cite hartmann93finding.
     479  version of Karp's algorithm \ref hartmann93finding.
    493480- \ref HowardMmc Howard's policy iteration algorithm
    494   \cite dasdan98minmeancycle, \cite dasdan04experimental.
     481  \ref dasdan98minmeancycle, \ref dasdan04experimental.
    495482
    496483In practice, the \ref HowardMmc "Howard" algorithm turned out to be by far the
     
    498485time is exponential.
    499486Both \ref KarpMmc "Karp" and \ref HartmannOrlinMmc "Hartmann-Orlin" algorithms
    500 run in time O(ne) and use space O(n<sup>2</sup>+e).
     487run in time O(ne) and use space O(n<sup>2</sup>+e), but the latter one is
     488typically faster due to the applied early termination scheme.
    501489*/
    502490
     
    648636high-level interface.
    649637
    650 The currently supported solvers are \cite glpk, \cite clp, \cite cbc,
    651 \cite cplex, \cite soplex.
     638The currently supported solvers are \ref glpk, \ref clp, \ref cbc,
     639\ref cplex, \ref soplex.
    652640*/
    653641
     
    736724This group contains general \c EPS drawing methods and special
    737725graph exporting tools.
    738 
    739 \image html graph_to_eps.png
    740726*/
    741727
  • doc/images/bipartite_partitions.eps

    r1045 r587  
    11%!PS-Adobe-2.0 EPSF-2.0
    22%%Creator: LEMON, graphToEps()
    3 %%CreationDate: Fri Mar  8 00:18:43 2013
     3%%CreationDate: Tue Nov 15 16:51:43 2005
    44%%BoundingBox: 0 0 842 596
    55%%EndComments
     
    5454%Edges:
    5555gsave
    56 513.857 -446.322 296.569 -487.43 79.2808 -528.539 0 0 0 7.00153 lb
    57 513.857 -446.322 575.52 -315.656 637.183 -184.989 0 0 0 7.00153 lb
    58 393.468 566.711 494.771 434.577 596.074 302.442 0 0 0 7.00153 lb
    59 393.468 566.711 155.625 579.925 -82.2171 593.138 0 0 0 7.00153 lb
    60 393.468 566.711 251.056 450.726 108.644 334.741 0 0 0 7.00153 lb
    61 869.153 52.8539 732.613 177.648 596.074 302.442 0 0 0 7.00153 lb
    62 869.153 52.8539 753.168 -66.0676 637.183 -184.989 0 0 0 7.00153 lb
    63 -82.2171 593.138 -91.0261 346.487 -99.8351 99.8351 0 0 0 7.00153 lb
    64 -663.61 546.157 -753.168 394.936 -842.726 243.715 0 0 0 7.00153 lb
    65 -663.61 546.157 -574.052 437.513 -484.494 328.869 0 0 0 7.00153 lb
    66 -1077.63 161.498 -960.178 202.606 -842.726 243.715 0 0 0 7.00153 lb
    67 -1077.63 161.498 -968.987 66.0674 -860.344 -29.3633 0 0 0 7.00153 lb
    68 -1177.47 -234.906 -1029.18 -381.722 -880.898 -528.539 0 0 0 7.00153 lb
    69 -1177.47 -234.906 -1018.91 -132.135 -860.344 -29.3633 0 0 0 7.00153 lb
    70 -880.898 -528.539 -744.359 -387.595 -607.82 -246.651 0 0 0 7.00153 lb
    71 -499.175 -499.175 -355.295 -475.685 -211.415 -452.194 0 0 0 7.00153 lb
    72 -499.175 -499.175 -553.498 -372.913 -607.82 -246.651 0 0 0 7.00153 lb
    73 -499.175 -499.175 -386.587 -315.087 -274 -131 0 0 0 7.00153 lb
    74 79.2808 -528.539 -66.0671 -490.366 -211.415 -452.194 0 0 0 7.00153 lb
    75 637.183 -184.989 421.363 -253.993 205.543 -322.996 0 0 0 7.00153 lb
    76 205.543 -322.996 162.966 -226.097 120.389 -129.198 0 0 0 7.00153 lb
    77 399.34 88.0898 259.865 -20.5541 120.389 -129.198 0 0 0 7.00153 lb
    78 399.34 88.0898 253.992 211.415 108.644 334.741 0 0 0 7.00153 lb
    79 -842.726 243.715 -471.281 171.775 -99.8351 99.8351 0 0 0 7.00153 lb
    80 -842.726 243.715 -558.363 56.3575 -274 -131 0 0 0 7.00153 lb
    81 -860.344 -29.3633 -734.082 -138.007 -607.82 -246.651 0 0 0 7.00153 lb
    82 -211.415 -452.194 -45.513 -290.696 120.389 -129.198 0 0 0 7.00153 lb
    83 -99.8351 99.8351 4.40445 217.288 108.644 334.741 0 0 0 7.00153 lb
    84 -99.8351 99.8351 -292.165 214.352 -484.494 328.869 0 0 0 7.00153 lb
    85 120.389 -129.198 -76.8055 -130.099 -274 -131 0 0 0 7.00153 lb
     56513.857 -446.322 296.569 -487.43 79.2808 -528.539 0 0 0 2 lb
     57513.857 -446.322 575.52 -315.655 637.183 -184.989 0 0 0 2 lb
     58393.468 566.711 494.771 434.577 596.074 302.442 0 0 0 2 lb
     59393.468 566.711 155.625 579.925 -82.2171 593.138 0 0 0 2 lb
     60393.468 566.711 251.056 450.726 108.644 334.741 0 0 0 2 lb
     61869.153 52.8539 732.613 177.648 596.074 302.442 0 0 0 2 lb
     62869.153 52.8539 753.168 -66.0676 637.183 -184.989 0 0 0 2 lb
     63-82.2171 593.138 -91.0261 346.487 -99.8351 99.8351 0 0 0 2 lb
     64-663.61 546.157 -753.168 394.936 -842.726 243.715 0 0 0 2 lb
     65-663.61 546.157 -574.052 437.513 -484.494 328.869 0 0 0 2 lb
     66-1077.63 161.498 -960.178 202.606 -842.726 243.715 0 0 0 2 lb
     67-1077.63 161.498 -968.987 66.0674 -860.344 -29.3633 0 0 0 2 lb
     68-1177.47 -234.906 -1029.18 -381.722 -880.898 -528.539 0 0 0 2 lb
     69-1177.47 -234.906 -1018.91 -132.135 -860.344 -29.3633 0 0 0 2 lb
     70-880.898 -528.539 -744.359 -387.595 -607.82 -246.651 0 0 0 2 lb
     71-499.175 -499.175 -355.295 -475.685 -211.415 -452.194 0 0 0 2 lb
     72-499.175 -499.175 -553.498 -372.913 -607.82 -246.651 0 0 0 2 lb
     73-499.175 -499.175 -386.587 -315.087 -274 -131 0 0 0 2 lb
     7479.2808 -528.539 -66.0671 -490.366 -211.415 -452.194 0 0 0 2 lb
     75637.183 -184.989 421.363 -253.993 205.543 -322.996 0 0 0 2 lb
     76205.543 -322.996 162.966 -226.097 120.389 -129.198 0 0 0 2 lb
     77399.34 88.0898 259.865 -20.5541 120.389 -129.198 0 0 0 2 lb
     78399.34 88.0898 253.992 211.415 108.644 334.741 0 0 0 2 lb
     79-842.726 243.715 -471.281 171.775 -99.8351 99.8351 0 0 0 2 lb
     80-842.726 243.715 -558.363 56.3575 -274 -131 0 0 0 2 lb
     81-860.344 -29.3633 -734.082 -138.007 -607.82 -246.651 0 0 0 2 lb
     82-211.415 -452.194 -45.513 -290.696 120.389 -129.198 0 0 0 2 lb
     83-99.8351 99.8351 4.40445 217.288 108.644 334.741 0 0 0 2 lb
     84-99.8351 99.8351 -292.165 214.352 -484.494 328.869 0 0 0 2 lb
     85120.389 -129.198 -76.8055 -130.099 -274 -131 0 0 0 2 lb
    8686grestore
    8787%Nodes:
    8888gsave
    89 -274 -131 23.3384 1 0 0 nc
    90 -607.82 -246.651 23.3384 1 0 0 nc
    91 -484.494 328.869 23.3384 0 0 1 nc
    92 108.644 334.741 23.3384 0 0 1 nc
    93 120.389 -129.198 23.3384 0 0 1 nc
    94 -99.8351 99.8351 23.3384 1 0 0 nc
    95 -211.415 -452.194 23.3384 1 0 0 nc
    96 -860.344 -29.3633 23.3384 0 0 1 nc
    97 -842.726 243.715 23.3384 0 0 1 nc
    98 399.34 88.0898 23.3384 1 0 0 nc
    99 205.543 -322.996 23.3384 1 0 0 nc
    100 637.183 -184.989 23.3384 0 0 1 nc
    101 79.2808 -528.539 23.3384 0 0 1 nc
    102 -499.175 -499.175 23.3384 0 0 1 nc
    103 -880.898 -528.539 23.3384 0 0 1 nc
    104 -1177.47 -234.906 23.3384 1 0 0 nc
    105 -1077.63 161.498 23.3384 1 0 0 nc
    106 -663.61 546.157 23.3384 1 0 0 nc
    107 -82.2171 593.138 23.3384 0 0 1 nc
    108 596.074 302.442 23.3384 0 0 1 nc
    109 869.153 52.8539 23.3384 1 0 0 nc
    110 393.468 566.711 23.3384 1 0 0 nc
    111 513.857 -446.322 23.3384 1 0 0 nc
     89-274 -131 20 1 0 0 nc
     90-607.82 -246.651 20 1 0 0 nc
     91-484.494 328.869 20 0 0 1 nc
     92108.644 334.741 20 0 0 1 nc
     93120.389 -129.198 20 0 0 1 nc
     94-99.8351 99.8351 20 1 0 0 nc
     95-211.415 -452.194 20 1 0 0 nc
     96-860.344 -29.3633 20 0 0 1 nc
     97-842.726 243.715 20 0 0 1 nc
     98399.34 88.0898 20 1 0 0 nc
     99205.543 -322.996 20 1 0 0 nc
     100637.183 -184.989 20 0 0 1 nc
     10179.2808 -528.539 20 0 0 1 nc
     102-499.175 -499.175 20 0 0 1 nc
     103-880.898 -528.539 20 0 0 1 nc
     104-1177.47 -234.906 20 1 0 0 nc
     105-1077.63 161.498 20 1 0 0 nc
     106-663.61 546.157 20 1 0 0 nc
     107-82.2171 593.138 20 0 0 1 nc
     108596.074 302.442 20 0 0 1 nc
     109869.153 52.8539 20 1 0 0 nc
     110393.468 566.711 20 1 0 0 nc
     111513.857 -446.322 20 1 0 0 nc
    112112grestore
    113113grestore
  • doc/images/connected_components.eps

    r1045 r587  
    11%!PS-Adobe-2.0 EPSF-2.0
    22%%Creator: LEMON, graphToEps()
    3 %%CreationDate: Fri Mar  8 00:18:43 2013
     3%%CreationDate: Fri Nov  4 13:47:12 2005
    44%%BoundingBox: 0 0 842 596
    55%%EndComments
     
    5454%Edges:
    5555gsave
    56 574.035 177.301 622.149 225.748 670.264 274.195 0 0 0 6.25356 lb
    57 694.579 115.483 682.421 194.839 670.264 274.195 0 0 0 6.25356 lb
    58 280.402 10.3938 246.402 -6.60595 212.403 -23.6057 0 0 0 6.25356 lb
    59 280.402 10.3938 283.493 -18.9695 286.584 -48.3327 0 0 0 6.25356 lb
    60 212.403 -23.6057 249.493 -35.9692 286.584 -48.3327 0 0 0 6.25356 lb
    61 286.584 -48.3327 326.765 -79.2414 366.947 -110.15 0 0 0 6.25356 lb
    62 286.584 -48.3327 278.857 -111.695 271.13 -175.058 0 0 0 6.25356 lb
    63 438.037 -88.514 417.946 -142.604 397.855 -196.694 0 0 0 6.25356 lb
    64 438.037 -88.514 402.492 -99.332 366.947 -110.15 0 0 0 6.25356 lb
    65 397.855 -196.694 382.401 -153.422 366.947 -110.15 0 0 0 6.25356 lb
    66 366.947 -110.15 319.038 -142.604 271.13 -175.058 0 0 0 6.25356 lb
    67 271.13 -175.058 274.221 -213.694 277.311 -252.33 0 0 0 6.25356 lb
    68 271.13 -175.058 238.675 -190.512 206.221 -205.967 0 0 0 6.25356 lb
    69 277.311 -252.33 241.766 -229.149 206.221 -205.967 0 0 0 6.25356 lb
    70 -840.856 -246.718 -804.351 -66.7145 -767.847 113.289 0 0 0 6.25356 lb
    71 -579.033 445.603 -673.44 279.446 -767.847 113.289 0 0 0 6.25356 lb
    72 -579.033 445.603 -524.906 302.104 -470.779 158.605 0 0 0 6.25356 lb
    73 -767.847 113.289 -619.313 135.947 -470.779 158.605 0 0 0 6.25356 lb
    74 906.312 201.403 946.592 42.798 986.873 -115.807 0 0 0 6.25356 lb
    75 906.312 201.403 834.562 91.8901 762.812 -17.6227 0 0 0 6.25356 lb
    76 986.873 -115.807 874.842 -66.7148 762.812 -17.6227 0 0 0 6.25356 lb
    77 -470.779 158.605 -390.218 50.3508 -309.657 -57.9033 0 0 0 6.25356 lb
    78 422.945 521.129 208.955 541.269 -5.03507 561.41 0 0 0 6.25356 lb
    79 422.945 521.129 376.371 417.911 329.797 314.692 0 0 0 6.25356 lb
    80 422.945 521.129 474.554 276.928 526.164 32.7279 0 0 0 6.25356 lb
    81 -5.03507 561.41 -36.5042 440.568 -67.9734 319.727 0 0 0 6.25356 lb
    82 329.797 314.692 130.912 317.209 -67.9734 319.727 0 0 0 6.25356 lb
    83 -67.9734 319.727 229.095 176.227 526.164 32.7279 0 0 0 6.25356 lb
    84 762.812 -17.6227 644.488 7.5526 526.164 32.7279 0 0 0 6.25356 lb
    85 762.812 -17.6227 746.448 -162.381 730.084 -307.139 0 0 0 6.25356 lb
    86 526.164 32.7279 470.779 -128.394 415.393 -289.516 0 0 0 6.25356 lb
    87 730.084 -307.139 572.738 -298.327 415.393 -289.516 0 0 0 6.25356 lb
    88 415.393 -289.516 173.71 -318.468 -67.9734 -347.42 0 0 0 6.25356 lb
    89 -67.9734 -347.42 -188.815 -202.662 -309.657 -57.9033 0 0 0 6.25356 lb
    90 -67.9734 -347.42 -195.758 -390.692 -323.543 -433.964 0 0 0 6.25356 lb
    91 -309.657 -57.9033 -424.775 -160.272 -539.894 -262.64 0 0 0 6.25356 lb
    92 -323.543 -433.964 -431.719 -348.302 -539.894 -262.64 0 0 0 6.25356 lb
    93 -26.6953 -19.9585 44.8558 -96.8093 116.407 -173.66 0 0 0 6.25356 lb
    94 -26.6953 -19.9585 87.2563 9.19185 201.208 38.3422 0 0 0 6.25356 lb
    95 -26.6953 -19.9585 -144.622 43.6422 -262.548 107.243 0 0 0 6.25356 lb
    96 -26.6953 -19.9585 -20.0703 56.8923 -13.4452 133.743 0 0 0 6.25356 lb
    97 116.407 -173.66 158.808 -67.6589 201.208 38.3422 0 0 0 6.25356 lb
    98 -262.548 107.243 -137.997 120.493 -13.4452 133.743 0 0 0 6.25356 lb
    99 -262.548 107.243 -221.472 176.144 -180.397 245.045 0 0 0 6.25356 lb
    100 -13.4452 133.743 -96.9211 189.394 -180.397 245.045 0 0 0 6.25356 lb
    101 -180.397 245.045 -113.509 338.465 -132.697 451.748 0 0 0 6.25356 lb
    102 -180.397 245.045 -199.585 358.328 -132.697 451.748 0 0 0 6.25356 lb
    103 -416.25 345.746 -274.474 398.747 -132.697 451.748 0 0 0 6.25356 lb
    104 -416.25 345.746 -393.725 457.048 -371.2 568.349 0 0 0 6.25356 lb
    105 -132.697 451.748 -251.948 510.048 -371.2 568.349 0 0 0 6.25356 lb
    106 670.264 274.195 629.188 409.347 588.113 544.499 0 0 0 6.25356 lb
    107 670.264 274.195 797.466 341.771 924.667 409.347 0 0 0 6.25356 lb
    108 588.113 544.499 756.39 476.923 924.667 409.347 0 0 0 6.25356 lb
    109 -689.204 -237.261 -587.735 -114.393 -567.302 43.6423 0 0 0 6.25356 lb
    110 -689.204 -237.261 -668.771 -79.2259 -567.302 43.6423 0 0 0 6.25356 lb
     56574.035 177.301 622.149 225.748 670.264 274.195 0 0 0 2 lb
     57694.579 115.483 682.421 194.839 670.264 274.195 0 0 0 2 lb
     58280.402 10.3938 246.402 -6.60595 212.403 -23.6057 0 0 0 2 lb
     59280.402 10.3938 283.493 -18.9695 286.584 -48.3327 0 0 0 2 lb
     60212.403 -23.6057 249.493 -35.9692 286.584 -48.3327 0 0 0 2 lb
     61286.584 -48.3327 326.765 -79.2414 366.947 -110.15 0 0 0 2 lb
     62286.584 -48.3327 278.857 -111.695 271.13 -175.058 0 0 0 2 lb
     63438.037 -88.514 417.946 -142.604 397.855 -196.694 0 0 0 2 lb
     64438.037 -88.514 402.492 -99.332 366.947 -110.15 0 0 0 2 lb
     65397.855 -196.694 382.401 -153.422 366.947 -110.15 0 0 0 2 lb
     66366.947 -110.15 319.038 -142.604 271.13 -175.058 0 0 0 2 lb
     67271.13 -175.058 274.221 -213.694 277.311 -252.33 0 0 0 2 lb
     68271.13 -175.058 238.675 -190.512 206.221 -205.967 0 0 0 2 lb
     69277.311 -252.33 241.766 -229.149 206.221 -205.967 0 0 0 2 lb
     70-840.856 -246.718 -804.351 -66.7145 -767.847 113.289 0 0 0 2 lb
     71-579.033 445.603 -673.44 279.446 -767.847 113.289 0 0 0 2 lb
     72-579.033 445.603 -524.906 302.104 -470.779 158.605 0 0 0 2 lb
     73-767.847 113.289 -619.313 135.947 -470.779 158.605 0 0 0 2 lb
     74906.312 201.403 946.592 42.798 986.873 -115.807 0 0 0 2 lb
     75906.312 201.403 834.562 91.8901 762.812 -17.6227 0 0 0 2 lb
     76986.873 -115.807 874.842 -66.7148 762.812 -17.6227 0 0 0 2 lb
     77-470.779 158.605 -390.218 50.3508 -309.657 -57.9033 0 0 0 2 lb
     78422.945 521.129 208.955 541.269 -5.03507 561.41 0 0 0 2 lb
     79422.945 521.129 376.371 417.911 329.797 314.692 0 0 0 2 lb
     80422.945 521.129 474.554 276.928 526.164 32.7279 0 0 0 2 lb
     81-5.03507 561.41 -36.5042 440.568 -67.9734 319.727 0 0 0 2 lb
     82329.797 314.692 130.912 317.209 -67.9734 319.727 0 0 0 2 lb
     83-67.9734 319.727 229.095 176.227 526.164 32.7279 0 0 0 2 lb
     84762.812 -17.6227 644.488 7.5526 526.164 32.7279 0 0 0 2 lb
     85762.812 -17.6227 746.448 -162.381 730.084 -307.139 0 0 0 2 lb
     86526.164 32.7279 470.779 -128.394 415.393 -289.516 0 0 0 2 lb
     87730.084 -307.139 572.738 -298.327 415.393 -289.516 0 0 0 2 lb
     88415.393 -289.516 173.71 -318.468 -67.9734 -347.42 0 0 0 2 lb
     89-67.9734 -347.42 -188.815 -202.662 -309.657 -57.9033 0 0 0 2 lb
     90-67.9734 -347.42 -195.758 -390.692 -323.543 -433.964 0 0 0 2 lb
     91-309.657 -57.9033 -424.775 -160.272 -539.894 -262.64 0 0 0 2 lb
     92-323.543 -433.964 -431.719 -348.302 -539.894 -262.64 0 0 0 2 lb
     93-26.6953 -19.9585 44.8558 -96.8093 116.407 -173.66 0 0 0 2 lb
     94-26.6953 -19.9585 87.2563 9.19185 201.208 38.3422 0 0 0 2 lb
     95-26.6953 -19.9585 -144.622 43.6422 -262.548 107.243 0 0 0 2 lb
     96-26.6953 -19.9585 -20.0703 56.8923 -13.4452 133.743 0 0 0 2 lb
     97116.407 -173.66 158.808 -67.6589 201.208 38.3422 0 0 0 2 lb
     98-262.548 107.243 -137.997 120.493 -13.4452 133.743 0 0 0 2 lb
     99-262.548 107.243 -221.472 176.144 -180.397 245.045 0 0 0 2 lb
     100-13.4452 133.743 -96.9211 189.394 -180.397 245.045 0 0 0 2 lb
     101-180.397 245.045 -142.256 345.099 -132.697 451.748 0 0 0 2 lb
     102-180.397 245.045 -170.838 351.694 -132.697 451.748 0 0 0 2 lb
     103-416.25 345.746 -274.474 398.747 -132.697 451.748 0 0 0 2 lb
     104-416.25 345.746 -393.725 457.048 -371.2 568.349 0 0 0 2 lb
     105-132.697 451.748 -251.948 510.048 -371.2 568.349 0 0 0 2 lb
     106670.264 274.195 629.188 409.347 588.113 544.499 0 0 0 2 lb
     107670.264 274.195 797.466 341.771 924.667 409.347 0 0 0 2 lb
     108588.113 544.499 756.39 476.923 924.667 409.347 0 0 0 2 lb
     109-689.204 -237.261 -614.799 -102.648 -567.302 43.6423 0 0 0 2 lb
     110-689.204 -237.261 -641.707 -90.9706 -567.302 43.6423 0 0 0 2 lb
    111111grestore
    112112%Nodes:
    113113gsave
    114 -567.302 43.6423 20.8452 0 0 0 nc
    115 -689.204 -237.261 20.8452 0 0 0 nc
    116 924.667 409.347 20.8452 1 0 0 nc
    117 588.113 544.499 20.8452 1 0 0 nc
    118 670.264 274.195 20.8452 1 0 0 nc
    119 -371.2 568.349 20.8452 0 1 0 nc
    120 -132.697 451.748 20.8452 0 1 0 nc
    121 -416.25 345.746 20.8452 0 1 0 nc
    122 -180.397 245.045 20.8452 0 1 0 nc
    123 -13.4452 133.743 20.8452 0 1 0 nc
    124 -262.548 107.243 20.8452 0 1 0 nc
    125 201.208 38.3422 20.8452 0 1 0 nc
    126 116.407 -173.66 20.8452 0 1 0 nc
    127 -26.6953 -19.9585 20.8452 0 1 0 nc
    128 -539.894 -262.64 20.8452 0 0 1 nc
    129 -323.543 -433.964 20.8452 0 0 1 nc
    130 -309.657 -57.9033 20.8452 0 0 1 nc
    131 -67.9734 -347.42 20.8452 0 0 1 nc
    132 415.393 -289.516 20.8452 0 0 1 nc
    133 730.084 -307.139 20.8452 0 0 1 nc
    134 526.164 32.7279 20.8452 0 0 1 nc
    135 762.812 -17.6227 20.8452 0 0 1 nc
    136 -67.9734 319.727 20.8452 0 0 1 nc
    137 329.797 314.692 20.8452 0 0 1 nc
    138 -5.03507 561.41 20.8452 0 0 1 nc
    139 422.945 521.129 20.8452 0 0 1 nc
    140 -470.779 158.605 20.8452 0 0 1 nc
    141 986.873 -115.807 20.8452 0 0 1 nc
    142 906.312 201.403 20.8452 0 0 1 nc
    143 -767.847 113.289 20.8452 0 0 1 nc
    144 -579.033 445.603 20.8452 0 0 1 nc
    145 -840.856 -246.718 20.8452 0 0 1 nc
    146 206.221 -205.967 20.8452 1 1 0 nc
    147 277.311 -252.33 20.8452 1 1 0 nc
    148 271.13 -175.058 20.8452 1 1 0 nc
    149 366.947 -110.15 20.8452 1 1 0 nc
    150 397.855 -196.694 20.8452 1 1 0 nc
    151 438.037 -88.514 20.8452 1 1 0 nc
    152 286.584 -48.3327 20.8452 1 1 0 nc
    153 212.403 -23.6057 20.8452 1 1 0 nc
    154 280.402 10.3938 20.8452 1 1 0 nc
    155 694.579 115.483 20.8452 1 0 0 nc
    156 574.035 177.301 20.8452 1 0 0 nc
     114-567.302 43.6423 20 0 0 0 nc
     115-689.204 -237.261 20 0 0 0 nc
     116924.667 409.347 20 1 0 0 nc
     117588.113 544.499 20 1 0 0 nc
     118670.264 274.195 20 1 0 0 nc
     119-371.2 568.349 20 0 1 0 nc
     120-132.697 451.748 20 0 1 0 nc
     121-416.25 345.746 20 0 1 0 nc
     122-180.397 245.045 20 0 1 0 nc
     123-13.4452 133.743 20 0 1 0 nc
     124-262.548 107.243 20 0 1 0 nc
     125201.208 38.3422 20 0 1 0 nc
     126116.407 -173.66 20 0 1 0 nc
     127-26.6953 -19.9585 20 0 1 0 nc
     128-539.894 -262.64 20 0 0 1 nc
     129-323.543 -433.964 20 0 0 1 nc
     130-309.657 -57.9033 20 0 0 1 nc
     131-67.9734 -347.42 20 0 0 1 nc
     132415.393 -289.516 20 0 0 1 nc
     133730.084 -307.139 20 0 0 1 nc
     134526.164 32.7279 20 0 0 1 nc
     135762.812 -17.6227 20 0 0 1 nc
     136-67.9734 319.727 20 0 0 1 nc
     137329.797 314.692 20 0 0 1 nc
     138-5.03507 561.41 20 0 0 1 nc
     139422.945 521.129 20 0 0 1 nc
     140-470.779 158.605 20 0 0 1 nc
     141986.873 -115.807 20 0 0 1 nc
     142906.312 201.403 20 0 0 1 nc
     143-767.847 113.289 20 0 0 1 nc
     144-579.033 445.603 20 0 0 1 nc
     145-840.856 -246.718 20 0 0 1 nc
     146206.221 -205.967 20 1 1 0 nc
     147277.311 -252.33 20 1 1 0 nc
     148271.13 -175.058 20 1 1 0 nc
     149366.947 -110.15 20 1 1 0 nc
     150397.855 -196.694 20 1 1 0 nc
     151438.037 -88.514 20 1 1 0 nc
     152286.584 -48.3327 20 1 1 0 nc
     153212.403 -23.6057 20 1 1 0 nc
     154280.402 10.3938 20 1 1 0 nc
     155694.579 115.483 20 1 0 0 nc
     156574.035 177.301 20 1 0 0 nc
    157157grestore
    158158grestore
  • doc/images/edge_biconnected_components.eps

    r1045 r587  
    11%!PS-Adobe-2.0 EPSF-2.0
    22%%Creator: LEMON, graphToEps()
    3 %%CreationDate: Fri Mar  8 00:18:43 2013
     3%%CreationDate: Fri Nov  4 13:47:12 2005
    44%%BoundingBox: 0 0 842 596
    55%%EndComments
     
    5454%Edges:
    5555gsave
    56 574.035 177.301 622.149 225.748 670.264 274.195 1 0 0 6.25356 lb
    57 694.579 115.483 682.421 194.839 670.264 274.195 1 0 0 6.25356 lb
    58 280.402 10.3938 246.402 -6.60595 212.403 -23.6057 0 0 1 6.25356 lb
    59 280.402 10.3938 283.493 -18.9695 286.584 -48.3327 0 0 1 6.25356 lb
    60 212.403 -23.6057 249.493 -35.9692 286.584 -48.3327 0 0 1 6.25356 lb
    61 286.584 -48.3327 326.765 -79.2414 366.947 -110.15 0 0 1 6.25356 lb
    62 286.584 -48.3327 278.857 -111.695 271.13 -175.058 0 0 1 6.25356 lb
    63 438.037 -88.514 417.946 -142.604 397.855 -196.694 0 0 1 6.25356 lb
    64 438.037 -88.514 402.492 -99.332 366.947 -110.15 0 0 1 6.25356 lb
    65 397.855 -196.694 382.401 -153.422 366.947 -110.15 0 0 1 6.25356 lb
    66 366.947 -110.15 319.038 -142.604 271.13 -175.058 0 0 1 6.25356 lb
    67 271.13 -175.058 274.221 -213.694 277.311 -252.33 0 0 1 6.25356 lb
    68 271.13 -175.058 238.675 -190.512 206.221 -205.967 0 0 1 6.25356 lb
    69 277.311 -252.33 241.766 -229.149 206.221 -205.967 0 0 1 6.25356 lb
    70 -840.856 -246.718 -804.351 -66.7145 -767.847 113.289 1 0 0 6.25356 lb
    71 -579.033 445.603 -673.44 279.446 -767.847 113.289 0 0 1 6.25356 lb
    72 -579.033 445.603 -524.906 302.104 -470.779 158.605 0 0 1 6.25356 lb
    73 -767.847 113.289 -619.313 135.947 -470.779 158.605 0 0 1 6.25356 lb
    74 906.312 201.403 946.592 42.798 986.873 -115.807 0 0 1 6.25356 lb
    75 906.312 201.403 834.562 91.8901 762.812 -17.6227 0 0 1 6.25356 lb
    76 986.873 -115.807 874.842 -66.7148 762.812 -17.6227 0 0 1 6.25356 lb
    77 -470.779 158.605 -390.218 50.3508 -309.657 -57.9033 1 0 0 6.25356 lb
    78 422.945 521.129 208.955 541.269 -5.03507 561.41 0 0 1 6.25356 lb
    79 422.945 521.129 376.371 417.911 329.797 314.692 0 0 1 6.25356 lb
    80 422.945 521.129 474.554 276.928 526.164 32.7279 0 0 1 6.25356 lb
    81 -5.03507 561.41 -36.5042 440.568 -67.9734 319.727 0 0 1 6.25356 lb
    82 329.797 314.692 130.912 317.209 -67.9734 319.727 0 0 1 6.25356 lb
    83 -67.9734 319.727 229.095 176.227 526.164 32.7279 0 0 1 6.25356 lb
    84 762.812 -17.6227 644.488 7.5526 526.164 32.7279 0 0 1 6.25356 lb
    85 762.812 -17.6227 746.448 -162.381 730.084 -307.139 0 0 1 6.25356 lb
    86 526.164 32.7279 470.779 -128.394 415.393 -289.516 0 0 1 6.25356 lb
    87 730.084 -307.139 572.738 -298.327 415.393 -289.516 0 0 1 6.25356 lb
    88 415.393 -289.516 173.71 -318.468 -67.9734 -347.42 1 0 0 6.25356 lb
    89 -67.9734 -347.42 -188.815 -202.662 -309.657 -57.9033 0 0 1 6.25356 lb
    90 -67.9734 -347.42 -195.758 -390.692 -323.543 -433.964 0 0 1 6.25356 lb
    91 -309.657 -57.9033 -424.775 -160.272 -539.894 -262.64 0 0 1 6.25356 lb
    92 -323.543 -433.964 -431.719 -348.302 -539.894 -262.64 0 0 1 6.25356 lb
    93 -26.6953 -19.9585 44.8558 -96.8093 116.407 -173.66 0 0 1 6.25356 lb
    94 -26.6953 -19.9585 87.2563 9.19185 201.208 38.3422 0 0 1 6.25356 lb
    95 -26.6953 -19.9585 -144.622 43.6422 -262.548 107.243 0 0 1 6.25356 lb
    96 -26.6953 -19.9585 -20.0703 56.8923 -13.4452 133.743 0 0 1 6.25356 lb
    97 116.407 -173.66 158.808 -67.6589 201.208 38.3422 0 0 1 6.25356 lb
    98 -262.548 107.243 -137.997 120.493 -13.4452 133.743 0 0 1 6.25356 lb
    99 -262.548 107.243 -221.472 176.144 -180.397 245.045 0 0 1 6.25356 lb
    100 -13.4452 133.743 -96.9211 189.394 -180.397 245.045 0 0 1 6.25356 lb
    101 -180.397 245.045 -113.509 338.465 -132.697 451.748 0 0 1 6.25356 lb
    102 -180.397 245.045 -199.585 358.328 -132.697 451.748 0 0 1 6.25356 lb
    103 -416.25 345.746 -274.474 398.747 -132.697 451.748 0 0 1 6.25356 lb
    104 -416.25 345.746 -393.725 457.048 -371.2 568.349 0 0 1 6.25356 lb
    105 -132.697 451.748 -251.948 510.048 -371.2 568.349 0 0 1 6.25356 lb
    106 670.264 274.195 629.188 409.347 588.113 544.499 0 0 1 6.25356 lb
    107 670.264 274.195 797.466 341.771 924.667 409.347 0 0 1 6.25356 lb
    108 588.113 544.499 756.39 476.923 924.667 409.347 0 0 1 6.25356 lb
    109 -689.204 -237.261 -587.735 -114.393 -567.302 43.6423 0 0 1 6.25356 lb
    110 -689.204 -237.261 -668.771 -79.2259 -567.302 43.6423 0 0 1 6.25356 lb
     56574.035 177.301 622.149 225.748 670.264 274.195 1 0 0 2 lb
     57694.579 115.483 682.421 194.839 670.264 274.195 1 0 0 2 lb
     58280.402 10.3938 246.402 -6.60595 212.403 -23.6057 0 0 1 2 lb
     59280.402 10.3938 283.493 -18.9695 286.584 -48.3327 0 0 1 2 lb
     60212.403 -23.6057 249.493 -35.9692 286.584 -48.3327 0 0 1 2 lb
     61286.584 -48.3327 326.765 -79.2414 366.947 -110.15 0 0 1 2 lb
     62286.584 -48.3327 278.857 -111.695 271.13 -175.058 0 0 1 2 lb
     63438.037 -88.514 417.946 -142.604 397.855 -196.694 0 0 1 2 lb
     64438.037 -88.514 402.492 -99.332 366.947 -110.15 0 0 1 2 lb
     65397.855 -196.694 382.401 -153.422 366.947 -110.15 0 0 1 2 lb
     66366.947 -110.15 319.038 -142.604 271.13 -175.058 0 0 1 2 lb
     67271.13 -175.058 274.221 -213.694 277.311 -252.33 0 0 1 2 lb
     68271.13 -175.058 238.675 -190.512 206.221 -205.967 0 0 1 2 lb
     69277.311 -252.33 241.766 -229.149 206.221 -205.967 0 0 1 2 lb
     70-840.856 -246.718 -804.351 -66.7145 -767.847 113.289 1 0 0 2 lb
     71-579.033 445.603 -673.44 279.446 -767.847 113.289 0 0 1 2 lb
     72-579.033 445.603 -524.906 302.104 -470.779 158.605 0 0 1 2 lb
     73-767.847 113.289 -619.313 135.947 -470.779 158.605 0 0 1 2 lb
     74906.312 201.403 946.592 42.798 986.873 -115.807 0 0 1 2 lb
     75906.312 201.403 834.562 91.8901 762.812 -17.6227 0 0 1 2 lb
     76986.873 -115.807 874.842 -66.7148 762.812 -17.6227 0 0 1 2 lb
     77-470.779 158.605 -390.218 50.3508 -309.657 -57.9033 1 0 0 2 lb
     78422.945 521.129 208.955 541.269 -5.03507 561.41 0 0 1 2 lb
     79422.945 521.129 376.371 417.911 329.797 314.692 0 0 1 2 lb
     80422.945 521.129 474.554 276.928 526.164 32.7279 0 0 1 2 lb
     81-5.03507 561.41 -36.5042 440.568 -67.9734 319.727 0 0 1 2 lb
     82329.797 314.692 130.912 317.209 -67.9734 319.727 0 0 1 2 lb
     83-67.9734 319.727 229.095 176.227 526.164 32.7279 0 0 1 2 lb
     84762.812 -17.6227 644.488 7.5526 526.164 32.7279 0 0 1 2 lb
     85762.812 -17.6227 746.448 -162.381 730.084 -307.139 0 0 1 2 lb
     86526.164 32.7279 470.779 -128.394 415.393 -289.516 0 0 1 2 lb
     87730.084 -307.139 572.738 -298.327 415.393 -289.516 0 0 1 2 lb
     88415.393 -289.516 173.71 -318.468 -67.9734 -347.42 1 0 0 2 lb
     89-67.9734 -347.42 -188.815 -202.662 -309.657 -57.9033 0 0 1 2 lb
     90-67.9734 -347.42 -195.758 -390.692 -323.543 -433.964 0 0 1 2 lb
     91-309.657 -57.9033 -424.775 -160.272 -539.894 -262.64 0 0 1 2 lb
     92-323.543 -433.964 -431.719 -348.302 -539.894 -262.64 0 0 1 2 lb
     93-26.6953 -19.9585 44.8558 -96.8093 116.407 -173.66 0 0 1 2 lb
     94-26.6953 -19.9585 87.2563 9.19185 201.208 38.3422 0 0 1 2 lb
     95-26.6953 -19.9585 -144.622 43.6422 -262.548 107.243 0 0 1 2 lb
     96-26.6953 -19.9585 -20.0703 56.8923 -13.4452 133.743 0 0 1 2 lb
     97116.407 -173.66 158.808 -67.6589 201.208 38.3422 0 0 1 2 lb
     98-262.548 107.243 -137.997 120.493 -13.4452 133.743 0 0 1 2 lb
     99-262.548 107.243 -221.472 176.144 -180.397 245.045 0 0 1 2 lb
     100-13.4452 133.743 -96.9211 189.394 -180.397 245.045 0 0 1 2 lb
     101-180.397 245.045 -142.256 345.099 -132.697 451.748 0 0 1 2 lb
     102-180.397 245.045 -170.838 351.694 -132.697 451.748 0 0 1 2 lb
     103-416.25 345.746 -274.474 398.747 -132.697 451.748 0 0 1 2 lb
     104-416.25 345.746 -393.725 457.048 -371.2 568.349 0 0 1 2 lb
     105-132.697 451.748 -251.948 510.048 -371.2 568.349 0 0 1 2 lb
     106670.264 274.195 629.188 409.347 588.113 544.499 0 0 1 2 lb
     107670.264 274.195 797.466 341.771 924.667 409.347 0 0 1 2 lb
     108588.113 544.499 756.39 476.923 924.667 409.347 0 0 1 2 lb
     109-689.204 -237.261 -614.799 -102.648 -567.302 43.6423 0 0 1 2 lb
     110-689.204 -237.261 -641.707 -90.9706 -567.302 43.6423 0 0 1 2 lb
    111111grestore
    112112%Nodes:
    113113gsave
    114 -567.302 43.6423 20.8452 0 0 0 nc
    115 -689.204 -237.261 20.8452 0 0 0 nc
    116 924.667 409.347 20.8452 0 0 1 nc
    117 588.113 544.499 20.8452 0 0 1 nc
    118 670.264 274.195 20.8452 0 0 1 nc
    119 -371.2 568.349 20.8452 1 1 0 nc
    120 -132.697 451.748 20.8452 1 1 0 nc
    121 -416.25 345.746 20.8452 1 1 0 nc
    122 -180.397 245.045 20.8452 1 1 0 nc
    123 -13.4452 133.743 20.8452 1 1 0 nc
    124 -262.548 107.243 20.8452 1 1 0 nc
    125 201.208 38.3422 20.8452 1 1 0 nc
    126 116.407 -173.66 20.8452 1 1 0 nc
    127 -26.6953 -19.9585 20.8452 1 1 0 nc
    128 -539.894 -262.64 20.8452 0 0.5 0 nc
    129 -323.543 -433.964 20.8452 0 0.5 0 nc
    130 -309.657 -57.9033 20.8452 0 0.5 0 nc
    131 -67.9734 -347.42 20.8452 0 0.5 0 nc
    132 415.393 -289.516 20.8452 0.5 0 0 nc
    133 730.084 -307.139 20.8452 0.5 0 0 nc
    134 526.164 32.7279 20.8452 0.5 0 0 nc
    135 762.812 -17.6227 20.8452 0.5 0 0 nc
    136 -67.9734 319.727 20.8452 0.5 0 0 nc
    137 329.797 314.692 20.8452 0.5 0 0 nc
    138 -5.03507 561.41 20.8452 0.5 0 0 nc
    139 422.945 521.129 20.8452 0.5 0 0 nc
    140 -470.779 158.605 20.8452 0 1 1 nc
    141 986.873 -115.807 20.8452 0.5 0 0 nc
    142 906.312 201.403 20.8452 0.5 0 0 nc
    143 -767.847 113.289 20.8452 0 1 1 nc
    144 -579.033 445.603 20.8452 0 1 1 nc
    145 -840.856 -246.718 20.8452 1 0 1 nc
    146 206.221 -205.967 20.8452 0 0 0.5 nc
    147 277.311 -252.33 20.8452 0 0 0.5 nc
    148 271.13 -175.058 20.8452 0 0 0.5 nc
    149 366.947 -110.15 20.8452 0 0 0.5 nc
    150 397.855 -196.694 20.8452 0 0 0.5 nc
    151 438.037 -88.514 20.8452 0 0 0.5 nc
    152 286.584 -48.3327 20.8452 0 0 0.5 nc
    153 212.403 -23.6057 20.8452 0 0 0.5 nc
    154 280.402 10.3938 20.8452 0 0 0.5 nc
    155 694.579 115.483 20.8452 1 0 0 nc
    156 574.035 177.301 20.8452 0 1 0 nc
     114-567.302 43.6423 20 0 0 0 nc
     115-689.204 -237.261 20 0 0 0 nc
     116924.667 409.347 20 0 0 1 nc
     117588.113 544.499 20 0 0 1 nc
     118670.264 274.195 20 0 0 1 nc
     119-371.2 568.349 20 1 1 0 nc
     120-132.697 451.748 20 1 1 0 nc
     121-416.25 345.746 20 1 1 0 nc
     122-180.397 245.045 20 1 1 0 nc
     123-13.4452 133.743 20 1 1 0 nc
     124-262.548 107.243 20 1 1 0 nc
     125201.208 38.3422 20 1 1 0 nc
     126116.407 -173.66 20 1 1 0 nc
     127-26.6953 -19.9585 20 1 1 0 nc
     128-539.894 -262.64 20 0 0.5 0 nc
     129-323.543 -433.964 20 0 0.5 0 nc
     130-309.657 -57.9033 20 0 0.5 0 nc
     131-67.9734 -347.42 20 0 0.5 0 nc
     132415.393 -289.516 20 0.5 0 0 nc
     133730.084 -307.139 20 0.5 0 0 nc
     134526.164 32.7279 20 0.5 0 0 nc
     135762.812 -17.6227 20 0.5 0 0 nc
     136-67.9734 319.727 20 0.5 0 0 nc
     137329.797 314.692 20 0.5 0 0 nc
     138-5.03507 561.41 20 0.5 0 0 nc
     139422.945 521.129 20 0.5 0 0 nc
     140-470.779 158.605 20 0 1 1 nc
     141986.873 -115.807 20 0.5 0 0 nc
     142906.312 201.403 20 0.5 0 0 nc
     143-767.847 113.289 20 0 1 1 nc
     144-579.033 445.603 20 0 1 1 nc
     145-840.856 -246.718 20 1 0 1 nc
     146206.221 -205.967 20 0 0 0.5 nc
     147277.311 -252.33 20 0 0 0.5 nc
     148271.13 -175.058 20 0 0 0.5 nc
     149366.947 -110.15 20 0 0 0.5 nc
     150397.855 -196.694 20 0 0 0.5 nc
     151438.037 -88.514 20 0 0 0.5 nc
     152286.584 -48.3327 20 0 0 0.5 nc
     153212.403 -23.6057 20 0 0 0.5 nc
     154280.402 10.3938 20 0 0 0.5 nc
     155694.579 115.483 20 1 0 0 nc
     156574.035 177.301 20 0 1 0 nc
    157157grestore
    158158grestore
  • doc/images/node_biconnected_components.eps

    r1045 r587  
    11%!PS-Adobe-2.0 EPSF-2.0
    22%%Creator: LEMON, graphToEps()
    3 %%CreationDate: Fri Mar  8 00:18:43 2013
     3%%CreationDate: Fri Nov  4 13:47:12 2005
    44%%BoundingBox: 0 0 842 596
    55%%EndComments
     
    5454%Edges:
    5555gsave
    56 574.035 177.301 622.149 225.748 670.264 274.195 0 1 0 6.25356 lb
    57 694.579 115.483 682.421 194.839 670.264 274.195 1 0 0 6.25356 lb
    58 280.402 10.3938 246.402 -6.60595 212.403 -23.6057 1 1 0.5 6.25356 lb
    59 280.402 10.3938 283.493 -18.9695 286.584 -48.3327 1 1 0.5 6.25356 lb
    60 212.403 -23.6057 249.493 -35.9692 286.584 -48.3327 1 1 0.5 6.25356 lb
    61 286.584 -48.3327 326.765 -79.2414 366.947 -110.15 1 0.5 1 6.25356 lb
    62 286.584 -48.3327 278.857 -111.695 271.13 -175.058 1 0.5 1 6.25356 lb
    63 438.037 -88.514 417.946 -142.604 397.855 -196.694 0.5 0.5 1 6.25356 lb
    64 438.037 -88.514 402.492 -99.332 366.947 -110.15 0.5 0.5 1 6.25356 lb
    65 397.855 -196.694 382.401 -153.422 366.947 -110.15 0.5 0.5 1 6.25356 lb
    66 366.947 -110.15 319.038 -142.604 271.13 -175.058 1 0.5 1 6.25356 lb
    67 271.13 -175.058 274.221 -213.694 277.311 -252.33 0.5 1 1 6.25356 lb
    68 271.13 -175.058 238.675 -190.512 206.221 -205.967 0.5 1 1 6.25356 lb
    69 277.311 -252.33 241.766 -229.149 206.221 -205.967 0.5 1 1 6.25356 lb
    70 -840.856 -246.718 -804.351 -66.7145 -767.847 113.289 0 0.5 0 6.25356 lb
    71 -579.033 445.603 -673.44 279.446 -767.847 113.289 0 0 0.5 6.25356 lb
    72 -579.033 445.603 -524.906 302.104 -470.779 158.605 0 0 0.5 6.25356 lb
    73 -767.847 113.289 -619.313 135.947 -470.779 158.605 0 0 0.5 6.25356 lb
    74 906.312 201.403 946.592 42.798 986.873 -115.807 0 0.5 0.5 6.25356 lb
    75 906.312 201.403 834.562 91.8901 762.812 -17.6227 0 0.5 0.5 6.25356 lb
    76 986.873 -115.807 874.842 -66.7148 762.812 -17.6227 0 0.5 0.5 6.25356 lb
    77 -470.779 158.605 -390.218 50.3508 -309.657 -57.9033 0.5 0.5 0 6.25356 lb
    78 422.945 521.129 208.955 541.269 -5.03507 561.41 0.5 0 0.5 6.25356 lb
    79 422.945 521.129 376.371 417.911 329.797 314.692 0.5 0 0.5 6.25356 lb
    80 422.945 521.129 474.554 276.928 526.164 32.7279 0.5 0 0.5 6.25356 lb
    81 -5.03507 561.41 -36.5042 440.568 -67.9734 319.727 0.5 0 0.5 6.25356 lb
    82 329.797 314.692 130.912 317.209 -67.9734 319.727 0.5 0 0.5 6.25356 lb
    83 -67.9734 319.727 229.095 176.227 526.164 32.7279 0.5 0 0.5 6.25356 lb
    84 762.812 -17.6227 644.488 7.5526 526.164 32.7279 0.5 0.5 0.5 6.25356 lb
    85 762.812 -17.6227 746.448 -162.381 730.084 -307.139 0.5 0.5 0.5 6.25356 lb
    86 526.164 32.7279 470.779 -128.394 415.393 -289.516 0.5 0.5 0.5 6.25356 lb
    87 730.084 -307.139 572.738 -298.327 415.393 -289.516 0.5 0.5 0.5 6.25356 lb
    88 415.393 -289.516 173.71 -318.468 -67.9734 -347.42 1 0.5 0.5 6.25356 lb
    89 -67.9734 -347.42 -188.815 -202.662 -309.657 -57.9033 0.5 1 0.5 6.25356 lb
    90 -67.9734 -347.42 -195.758 -390.692 -323.543 -433.964 0.5 1 0.5 6.25356 lb
    91 -309.657 -57.9033 -424.775 -160.272 -539.894 -262.64 0.5 1 0.5 6.25356 lb
    92 -323.543 -433.964 -431.719 -348.302 -539.894 -262.64 0.5 1 0.5 6.25356 lb
    93 -26.6953 -19.9585 44.8558 -96.8093 116.407 -173.66 1 1 0 6.25356 lb
    94 -26.6953 -19.9585 87.2563 9.19185 201.208 38.3422 1 1 0 6.25356 lb
    95 -26.6953 -19.9585 -144.622 43.6422 -262.548 107.243 1 0 1 6.25356 lb
    96 -26.6953 -19.9585 -20.0703 56.8923 -13.4452 133.743 1 0 1 6.25356 lb
    97 116.407 -173.66 158.808 -67.6589 201.208 38.3422 1 1 0 6.25356 lb
    98 -262.548 107.243 -137.997 120.493 -13.4452 133.743 1 0 1 6.25356 lb
    99 -262.548 107.243 -221.472 176.144 -180.397 245.045 1 0 1 6.25356 lb
    100 -13.4452 133.743 -96.9211 189.394 -180.397 245.045 1 0 1 6.25356 lb
    101 -180.397 245.045 -113.509 338.465 -132.697 451.748 0 1 1 6.25356 lb
    102 -180.397 245.045 -199.585 358.328 -132.697 451.748 0 1 1 6.25356 lb
    103 -416.25 345.746 -274.474 398.747 -132.697 451.748 0.5 0 0 6.25356 lb
    104 -416.25 345.746 -393.725 457.048 -371.2 568.349 0.5 0 0 6.25356 lb
    105 -132.697 451.748 -251.948 510.048 -371.2 568.349 0.5 0 0 6.25356 lb
    106 670.264 274.195 629.188 409.347 588.113 544.499 0 0 1 6.25356 lb
    107 670.264 274.195 797.466 341.771 924.667 409.347 0 0 1 6.25356 lb
    108 588.113 544.499 756.39 476.923 924.667 409.347 0 0 1 6.25356 lb
    109 -689.204 -237.261 -587.735 -114.393 -567.302 43.6423 0 0 0 6.25356 lb
    110 -689.204 -237.261 -668.771 -79.2259 -567.302 43.6423 0 0 0 6.25356 lb
     56574.035 177.301 622.149 225.748 670.264 274.195 0 1 0 5 lb
     57694.579 115.483 682.421 194.839 670.264 274.195 1 0 0 5 lb
     58280.402 10.3938 246.402 -6.60595 212.403 -23.6057 1 1 0.5 5 lb
     59280.402 10.3938 283.493 -18.9695 286.584 -48.3327 1 1 0.5 5 lb
     60212.403 -23.6057 249.493 -35.9692 286.584 -48.3327 1 1 0.5 5 lb
     61286.584 -48.3327 326.765 -79.2414 366.947 -110.15 1 0.5 1 5 lb
     62286.584 -48.3327 278.857 -111.695 271.13 -175.058 1 0.5 1 5 lb
     63438.037 -88.514 417.946 -142.604 397.855 -196.694 0.5 0.5 1 5 lb
     64438.037 -88.514 402.492 -99.332 366.947 -110.15 0.5 0.5 1 5 lb
     65397.855 -196.694 382.401 -153.422 366.947 -110.15 0.5 0.5 1 5 lb
     66366.947 -110.15 319.038 -142.604 271.13 -175.058 1 0.5 1 5 lb
     67271.13 -175.058 274.221 -213.694 277.311 -252.33 0.5 1 1 5 lb
     68271.13 -175.058 238.675 -190.512 206.221 -205.967 0.5 1 1 5 lb
     69277.311 -252.33 241.766 -229.149 206.221 -205.967 0.5 1 1 5 lb
     70-840.856 -246.718 -804.351 -66.7145 -767.847 113.289 0 0.5 0 5 lb
     71-579.033 445.603 -673.44 279.446 -767.847 113.289 0 0 0.5 5 lb
     72-579.033 445.603 -524.906 302.104 -470.779 158.605 0 0 0.5 5 lb
     73-767.847 113.289 -619.313 135.947 -470.779 158.605 0 0 0.5 5 lb
     74906.312 201.403 946.592 42.798 986.873 -115.807 0 0.5 0.5 5 lb
     75906.312 201.403 834.562 91.8901 762.812 -17.6227 0 0.5 0.5 5 lb
     76986.873 -115.807 874.842 -66.7148 762.812 -17.6227 0 0.5 0.5 5 lb
     77-470.779 158.605 -390.218 50.3508 -309.657 -57.9033 0.5 0.5 0 5 lb
     78422.945 521.129 208.955 541.269 -5.03507 561.41 0.5 0 0.5 5 lb
     79422.945 521.129 376.371 417.911 329.797 314.692 0.5 0 0.5 5 lb
     80422.945 521.129 474.554 276.928 526.164 32.7279 0.5 0 0.5 5 lb
     81-5.03507 561.41 -36.5042 440.568 -67.9734 319.727 0.5 0 0.5 5 lb
     82329.797 314.692 130.912 317.209 -67.9734 319.727 0.5 0 0.5 5 lb
     83-67.9734 319.727 229.095 176.227 526.164 32.7279 0.5 0 0.5 5 lb
     84762.812 -17.6227 644.488 7.5526 526.164 32.7279 0.5 0.5 0.5 5 lb
     85762.812 -17.6227 746.448 -162.381 730.084 -307.139 0.5 0.5 0.5 5 lb
     86526.164 32.7279 470.779 -128.394 415.393 -289.516 0.5 0.5 0.5 5 lb
     87730.084 -307.139 572.738 -298.327 415.393 -289.516 0.5 0.5 0.5 5 lb
     88415.393 -289.516 173.71 -318.468 -67.9734 -347.42 1 0.5 0.5 5 lb
     89-67.9734 -347.42 -188.815 -202.662 -309.657 -57.9033 0.5 1 0.5 5 lb
     90-67.9734 -347.42 -195.758 -390.692 -323.543 -433.964 0.5 1 0.5 5 lb
     91-309.657 -57.9033 -424.775 -160.272 -539.894 -262.64 0.5 1 0.5 5 lb
     92-323.543 -433.964 -431.719 -348.302 -539.894 -262.64 0.5 1 0.5 5 lb
     93-26.6953 -19.9585 44.8558 -96.8093 116.407 -173.66 1 1 0 5 lb
     94-26.6953 -19.9585 87.2563 9.19185 201.208 38.3422 1 1 0 5 lb
     95-26.6953 -19.9585 -144.622 43.6422 -262.548 107.243 1 0 1 5 lb
     96-26.6953 -19.9585 -20.0703 56.8923 -13.4452 133.743 1 0 1 5 lb
     97116.407 -173.66 158.808 -67.6589 201.208 38.3422 1 1 0 5 lb
     98-262.548 107.243 -137.997 120.493 -13.4452 133.743 1 0 1 5 lb
     99-262.548 107.243 -221.472 176.144 -180.397 245.045 1 0 1 5 lb
     100-13.4452 133.743 -96.9211 189.394 -180.397 245.045 1 0 1 5 lb
     101-180.397 245.045 -140.307 344.649 -132.697 451.748 0 1 1 5 lb
     102-180.397 245.045 -172.787 352.144 -132.697 451.748 0 1 1 5 lb
     103-416.25 345.746 -274.474 398.747 -132.697 451.748 0.5 0 0 5 lb
     104-416.25 345.746 -393.725 457.048 -371.2 568.349 0.5 0 0 5 lb
     105-132.697 451.748 -251.948 510.048 -371.2 568.349 0.5 0 0 5 lb
     106670.264 274.195 629.188 409.347 588.113 544.499 0 0 1 5 lb
     107670.264 274.195 797.466 341.771 924.667 409.347 0 0 1 5 lb
     108588.113 544.499 756.39 476.923 924.667 409.347 0 0 1 5 lb
     109-689.204 -237.261 -612.964 -103.444 -567.302 43.6423 0 0 0 5 lb
     110-689.204 -237.261 -643.542 -90.1744 -567.302 43.6423 0 0 0 5 lb
    111111grestore
    112112%Nodes:
    113113gsave
    114 -567.302 43.6423 20.8452 0 0 1 nc
    115 -689.204 -237.261 20.8452 0 0 1 nc
    116 924.667 409.347 20.8452 0 0 1 nc
    117 588.113 544.499 20.8452 0 0 1 nc
    118 670.264 274.195 20.8452 1 0 0 nc
    119 -371.2 568.349 20.8452 0 0 1 nc
    120 -132.697 451.748 20.8452 1 0 0 nc
    121 -416.25 345.746 20.8452 0 0 1 nc
    122 -180.397 245.045 20.8452 1 0 0 nc
    123 -13.4452 133.743 20.8452 0 0 1 nc
    124 -262.548 107.243 20.8452 0 0 1 nc
    125 201.208 38.3422 20.8452 0 0 1 nc
    126 116.407 -173.66 20.8452 0 0 1 nc
    127 -26.6953 -19.9585 20.8452 1 0 0 nc
    128 -539.894 -262.64 20.8452 0 0 1 nc
    129 -323.543 -433.964 20.8452 0 0 1 nc
    130 -309.657 -57.9033 20.8452 1 0 0 nc
    131 -67.9734 -347.42 20.8452 1 0 0 nc
    132 415.393 -289.516 20.8452 1 0 0 nc
    133 730.084 -307.139 20.8452 0 0 1 nc
    134 526.164 32.7279 20.8452 1 0 0 nc
    135 762.812 -17.6227 20.8452 1 0 0 nc
    136 -67.9734 319.727 20.8452 0 0 1 nc
    137 329.797 314.692 20.8452 0 0 1 nc
    138 -5.03507 561.41 20.8452 0 0 1 nc
    139 422.945 521.129 20.8452 0 0 1 nc
    140 -470.779 158.605 20.8452 1 0 0 nc
    141 986.873 -115.807 20.8452 0 0 1 nc
    142 906.312 201.403 20.8452 0 0 1 nc
    143 -767.847 113.289 20.8452 1 0 0 nc
    144 -579.033 445.603 20.8452 0 0 1 nc
    145 -840.856 -246.718 20.8452 0 0 1 nc
    146 206.221 -205.967 20.8452 0 0 1 nc
    147 277.311 -252.33 20.8452 0 0 1 nc
    148 271.13 -175.058 20.8452 1 0 0 nc
    149 366.947 -110.15 20.8452 1 0 0 nc
    150 397.855 -196.694 20.8452 0 0 1 nc
    151 438.037 -88.514 20.8452 0 0 1 nc
    152 286.584 -48.3327 20.8452 1 0 0 nc
    153 212.403 -23.6057 20.8452 0 0 1 nc
    154 280.402 10.3938 20.8452 0 0 1 nc
    155 694.579 115.483 20.8452 0 0 1 nc
    156 574.035 177.301 20.8452 0 0 1 nc
     114-567.302 43.6423 20 0 0 1 nc
     115-689.204 -237.261 20 0 0 1 nc
     116924.667 409.347 20 0 0 1 nc
     117588.113 544.499 20 0 0 1 nc
     118670.264 274.195 20 1 0 0 nc
     119-371.2 568.349 20 0 0 1 nc
     120-132.697 451.748 20 1 0 0 nc
     121-416.25 345.746 20 0 0 1 nc
     122-180.397 245.045 20 1 0 0 nc
     123-13.4452 133.743 20 0 0 1 nc
     124-262.548 107.243 20 0 0 1 nc
     125201.208 38.3422 20 0 0 1 nc
     126116.407 -173.66 20 0 0 1 nc
     127-26.6953 -19.9585 20 1 0 0 nc
     128-539.894 -262.64 20 0 0 1 nc
     129-323.543 -433.964 20 0 0 1 nc
     130-309.657 -57.9033 20 1 0 0 nc
     131-67.9734 -347.42 20 1 0 0 nc
     132415.393 -289.516 20 1 0 0 nc
     133730.084 -307.139 20 0 0 1 nc
     134526.164 32.7279 20 1 0 0 nc
     135762.812 -17.6227 20 1 0 0 nc
     136-67.9734 319.727 20 0 0 1 nc
     137329.797 314.692 20 0 0 1 nc
     138-5.03507 561.41 20 0 0 1 nc
     139422.945 521.129 20 0 0 1 nc
     140-470.779 158.605 20 1 0 0 nc
     141986.873 -115.807 20 0 0 1 nc
     142906.312 201.403 20 0 0 1 nc
     143-767.847 113.289 20 1 0 0 nc
     144-579.033 445.603 20 0 0 1 nc
     145-840.856 -246.718 20 0 0 1 nc
     146206.221 -205.967 20 0 0 1 nc
     147277.311 -252.33 20 0 0 1 nc
     148271.13 -175.058 20 1 0 0 nc
     149366.947 -110.15 20 1 0 0 nc
     150397.855 -196.694 20 0 0 1 nc
     151438.037 -88.514 20 0 0 1 nc
     152286.584 -48.3327 20 1 0 0 nc
     153212.403 -23.6057 20 0 0 1 nc
     154280.402 10.3938 20 0 0 1 nc
     155694.579 115.483 20 0 0 1 nc
     156574.035 177.301 20 0 0 1 nc
    157157grestore
    158158grestore
  • doc/images/strongly_connected_components.eps

    r1045 r587  
    11%!PS-Adobe-2.0 EPSF-2.0
    22%%Creator: LEMON, graphToEps()
    3 %%CreationDate: Fri Mar  8 00:22:15 2013
     3%%CreationDate: Fri Nov  4 13:47:12 2005
    44%%BoundingBox: 0 0 842 596
    55%%EndComments
     
    5454%Edges:
    5555gsave
    56 4.56973 setlinewidth 0 0 1 setrgbcolor newpath
     562 setlinewidth 0 0 1 setrgbcolor newpath
    5757218.178 27.2723 moveto
    58 195.849 -31.0725 190.033 -46.2697 176.306 -82.1369 curveto stroke
    59 newpath 163.235 -116.291 moveto 165.206 -77.8889 lineto 187.405 -86.3849 lineto closepath fill
    60 4.56973 setlinewidth 0 0 1 setrgbcolor newpath
     58192.373 -40.1551 188.622 -49.9556 169.228 -100.631 curveto stroke
     59newpath 164.939 -111.838 moveto 165.492 -99.2013 lineto 172.964 -102.061 lineto closepath fill
     602 setlinewidth 0 0 1 setrgbcolor newpath
    616144.8044 15.5841 moveto
    62 109.705 19.9594 126.016 21.0591 166.493 23.7879 curveto stroke
    63 newpath 202.98 26.2477 moveto 167.292 11.9299 lineto 165.694 35.6458 lineto closepath fill
    64 4.56973 setlinewidth 1 0 0 setrgbcolor newpath
     62119.293 20.6059 129.775 21.3125 186.25 25.1199 curveto stroke
     63newpath 198.223 25.927 moveto 186.519 21.1289 lineto 185.981 29.1108 lineto closepath fill
     642 setlinewidth 1 0 0 setrgbcolor newpath
    6565218.178 27.2723 moveto
    66 281.264 -80.3935 289.87 -95.0808 338.092 -177.379 curveto stroke
    67 newpath 356.579 -208.932 moveto 327.837 -183.388 lineto 348.346 -171.371 lineto closepath fill
    68 4.56973 setlinewidth 0 0 1 setrgbcolor newpath
     66285.395 -87.4449 290.763 -96.6058 348.102 -194.464 curveto stroke
     67newpath 354.169 -204.818 moveto 344.651 -196.487 lineto 351.554 -192.442 lineto closepath fill
     682 setlinewidth 0 0 1 setrgbcolor newpath
    6969157.79 -130.517 moveto
    70 114.446 -74.4692 104.358 -61.4239 76.4943 -25.394 curveto stroke
    71 newpath 54.1228 3.53455 moveto 85.8959 -18.1234 lineto 67.0928 -32.6646 lineto closepath fill
    72 4.56973 setlinewidth 1 0 0 setrgbcolor newpath
     70108.71 -67.0521 102.27 -58.7243 64.3804 -9.72954 curveto stroke
     71newpath 57.0394 -0.236898 moveto 67.5446 -7.28254 lineto 61.2162 -12.1765 lineto closepath fill
     722 setlinewidth 1 0 0 setrgbcolor newpath
    7373-105.193 -261.035 moveto
    74 -39.4801 -139.85 -31.344 -124.846 20.1113 -29.9539 curveto stroke
    75 newpath 37.5434 2.19358 moveto 30.559 -35.6192 lineto 9.66361 -24.2886 lineto closepath fill
    76 4.56973 setlinewidth 0 0 1 setrgbcolor newpath
     74-35.6576 -132.801 -30.5923 -123.459 29.5506 -12.5464 curveto stroke
     75newpath 35.2708 -1.99743 moveto 33.0669 -14.4531 lineto 26.0343 -10.6397 lineto closepath fill
     762 setlinewidth 0 0 1 setrgbcolor newpath
    7777-465.576 -42.8564 moveto
    78 -550.335 -27.1603 -566.8 -24.1113 -625.027 -13.3286 curveto stroke
    79 newpath -660.985 -6.66971 moveto -622.863 -1.64245 lineto -627.191 -25.0148 lineto closepath fill
    80 4.56973 setlinewidth 0 0 1 setrgbcolor newpath
     78-559.078 -25.5413 -569.47 -23.6169 -644.498 -9.72286 curveto stroke
     79newpath -656.297 -7.5378 moveto -643.77 -5.78973 lineto -645.226 -13.656 lineto closepath fill
     802 setlinewidth 0 0 1 setrgbcolor newpath
    8181-574.666 -153.893 moveto
    82 -535.911 -114.447 -524.692 -103.027 -501.88 -79.8085 curveto stroke
    83 newpath -476.251 -53.7222 moveto -493.402 -88.1377 lineto -510.358 -71.4793 lineto closepath fill
    84 4.56973 setlinewidth 1 0 0 setrgbcolor newpath
     82-528.842 -107.252 -521.515 -99.794 -488.002 -65.683 curveto stroke
     83newpath -479.592 -57.123 moveto -485.149 -68.4863 lineto -490.856 -62.8797 lineto closepath fill
     842 setlinewidth 1 0 0 setrgbcolor newpath
    8585-490.901 120.777 moveto
    86 -481.623 60.8277 -479.143 44.8049 -473.499 8.33636 curveto stroke
    87 newpath -467.906 -27.8032 moveto -485.244 6.51862 lineto -461.754 10.1541 lineto closepath fill
    88 4.56973 setlinewidth 0 0 1 setrgbcolor newpath
     86-480.122 51.1328 -478.519 40.7713 -470.47 -11.2329 curveto stroke
     87newpath -468.635 -23.0917 moveto -474.423 -11.8447 lineto -466.517 -10.6212 lineto closepath fill
     882 setlinewidth 0 0 1 setrgbcolor newpath
    8989-675.963 -3.89604 moveto
    90 -637.405 -60.9909 -628.201 -74.6206 -603.658 -110.963 curveto stroke
    91 newpath -583.191 -141.27 moveto -613.507 -117.615 lineto -593.808 -104.312 lineto closepath fill
    92 4.56973 setlinewidth 0 0 1 setrgbcolor newpath
     90-632.116 -68.8235 -626.228 -77.5422 -592.575 -127.374 curveto stroke
     91newpath -585.859 -137.319 moveto -595.89 -129.612 lineto -589.26 -125.135 lineto closepath fill
     922 setlinewidth 0 0 1 setrgbcolor newpath
    9393-490.901 120.777 moveto
    94 -439.75 208.465 -431.238 223.057 -394.278 286.417 curveto stroke
    95 newpath -375.851 318.006 moveto -384.012 280.429 lineto -404.543 292.406 lineto closepath fill
    96 4.56973 setlinewidth 0 0 1 setrgbcolor newpath
     94-435.445 215.844 -430.107 224.995 -384.3 303.522 curveto stroke
     95newpath -378.253 313.887 moveto -380.845 301.507 lineto -387.755 305.537 lineto closepath fill
     962 setlinewidth 0 0 1 setrgbcolor newpath
    9797-266.879 114.933 moveto
    98 -358.311 117.318 -375.109 117.756 -439.117 119.426 curveto stroke
    99 newpath -475.674 120.38 moveto -438.807 131.307 lineto -439.426 107.545 lineto closepath fill
    100 4.56973 setlinewidth 0 0 1 setrgbcolor newpath
     98-367.067 117.547 -377.642 117.822 -458.912 119.943 curveto stroke
     99newpath -470.908 120.255 moveto -458.807 123.941 lineto -459.016 115.944 lineto closepath fill
     1002 setlinewidth 0 0 1 setrgbcolor newpath
    101101-368.176 331.163 moveto
    102 -326.156 241.466 -318.997 226.186 -288.855 161.843 curveto stroke
    103 newpath -273.341 128.727 moveto -299.617 156.801 lineto -278.092 166.885 lineto closepath fill
    104 4.56973 setlinewidth 1 0 0 setrgbcolor newpath
     102-322.511 233.685 -318.018 224.095 -280.454 143.911 curveto stroke
     103newpath -275.364 133.044 moveto -284.076 142.214 lineto -276.832 145.608 lineto closepath fill
     1042 setlinewidth 1 0 0 setrgbcolor newpath
    105105-266.879 114.933 moveto
    106 -226.764 227.755 -221.069 243.774 -190.728 329.107 curveto stroke
    107 newpath -178.477 363.564 moveto -179.53 325.126 lineto -201.926 333.089 lineto closepath fill
    108 4.56973 setlinewidth 0 0 1 setrgbcolor newpath
     106-224.004 235.52 -220.448 245.52 -184.094 347.765 curveto stroke
     107newpath -180.074 359.072 moveto -180.325 346.425 lineto -187.863 349.105 lineto closepath fill
     1082 setlinewidth 0 0 1 setrgbcolor newpath
    109109-251.294 -335.059 moveto
    110 -198.044 -308.079 -183.61 -300.766 -151.402 -284.448 curveto stroke
    111 newpath -118.781 -267.92 moveto -146.031 -295.049 lineto -156.774 -273.846 lineto closepath fill
    112 4.56973 setlinewidth 0 0 1 setrgbcolor newpath
     110-189.25 -303.624 -179.902 -298.887 -133.738 -275.498 curveto stroke
     111newpath -123.034 -270.074 moveto -131.93 -279.066 lineto -135.546 -271.93 lineto closepath fill
     1122 setlinewidth 0 0 1 setrgbcolor newpath
    113113-389.604 -136.361 moveto
    114 -332.039 -219.059 -322.392 -232.919 -280.889 -292.543 curveto stroke
    115 newpath -259.996 -322.557 moveto -290.643 -299.333 lineto -271.134 -285.753 lineto closepath fill
    116 4.56973 setlinewidth 1 0 0 setrgbcolor newpath
     114-327.15 -226.083 -321.098 -234.777 -269.576 -308.795 curveto stroke
     115newpath -262.72 -318.644 moveto -272.859 -311.081 lineto -266.293 -306.51 lineto closepath fill
     1162 setlinewidth 1 0 0 setrgbcolor newpath
    1171175.84406 175.322 moveto
    118 -70.5724 261.706 -81.8227 274.423 -139.051 339.116 curveto stroke
    119 newpath -163.281 366.507 moveto -130.149 346.991 lineto -147.953 331.242 lineto closepath fill
    120 4.56973 setlinewidth 0 0 1 setrgbcolor newpath
     118-76.0754 267.926 -83.1051 275.873 -152.172 353.948 curveto stroke
     119newpath -160.122 362.936 moveto -149.176 356.598 lineto -155.168 351.298 lineto closepath fill
     1202 setlinewidth 0 0 1 setrgbcolor newpath
    121121169.478 311.683 moveto
    122 103.641 256.819 90.7821 246.103 45.6398 208.485 curveto stroke
    123 newpath 17.546 185.074 moveto 38.0313 217.615 lineto 53.2483 199.355 lineto closepath fill
    124 4.56973 setlinewidth 0 0 1 setrgbcolor newpath
     12296.8003 251.119 88.6819 244.353 30.4273 195.808 curveto stroke
     123newpath 21.2086 188.126 moveto 27.8666 198.881 lineto 32.988 192.735 lineto closepath fill
     1242 setlinewidth 0 0 1 setrgbcolor newpath
    125125342.851 111.037 moveto
    126 269.224 196.246 258.132 209.083 203.347 272.486 curveto stroke
    127 newpath 179.437 300.157 moveto 212.34 280.257 lineto 194.354 264.716 lineto closepath fill
    128 4.56973 setlinewidth 0 0 1 setrgbcolor newpath
     126263.766 202.563 256.831 210.589 190.4 287.47 curveto stroke
     127newpath 182.554 296.55 moveto 193.427 290.085 lineto 187.373 284.855 lineto closepath fill
     1282 setlinewidth 0 0 1 setrgbcolor newpath
    1291295.84406 175.322 moveto
    130 155.419 146.79 172.221 143.585 291.966 120.743 curveto stroke
    131 newpath 327.888 113.891 moveto 289.739 109.069 lineto 294.193 132.418 lineto closepath fill
    132 4.56973 setlinewidth 0 0 1 setrgbcolor newpath
     130163.16 145.314 173.605 143.321 311.418 117.033 curveto stroke
     131newpath 323.205 114.784 moveto 310.668 113.104 lineto 312.167 120.962 lineto closepath fill
     1322 setlinewidth 0 0 1 setrgbcolor newpath
    133133342.851 111.037 moveto
    134 490.978 6.99574 505.015 -2.86383 627.727 -89.0547 curveto stroke
    135 newpath 657.653 -110.074 moveto 620.896 -98.7802 lineto 634.558 -79.3291 lineto closepath fill
    136 4.56973 setlinewidth 0 0 1 setrgbcolor newpath
     134497.255 2.58683 505.964 -3.53033 643.932 -100.436 curveto stroke
     135newpath 653.752 -107.334 moveto 641.633 -103.71 lineto 646.231 -97.163 lineto closepath fill
     1362 setlinewidth 0 0 1 setrgbcolor newpath
    137137364.28 -222.074 moveto
    138 354.807 -74.8128 353.709 -57.7536 346.177 59.3416 curveto stroke
    139 newpath 343.829 95.836 moveto 358.037 60.1045 lineto 334.316 58.5786 lineto closepath fill
    140 4.56973 setlinewidth 0 0 1 setrgbcolor newpath
     138354.298 -66.9063 353.616 -56.2971 344.905 79.1029 curveto stroke
     139newpath 344.135 91.0781 moveto 348.897 79.3597 lineto 340.914 78.8461 lineto closepath fill
     1402 setlinewidth 0 0 1 setrgbcolor newpath
    141141670.118 -118.829 moveto
    142 535.595 -164.241 519.412 -169.704 413.361 -205.505 curveto stroke
    143 newpath 378.712 -217.202 moveto 409.559 -194.245 lineto 417.162 -216.766 lineto closepath fill
    144 4.56973 setlinewidth 1 0 0 setrgbcolor newpath
     142528.037 -166.793 517.967 -170.192 394.599 -211.839 curveto stroke
     143newpath 383.229 -215.677 moveto 393.32 -208.049 lineto 395.878 -215.629 lineto closepath fill
     1442 setlinewidth 1 0 0 setrgbcolor newpath
    145145-105.193 -261.035 moveto
    146 110.939 -243.099 128.069 -241.677 312.655 -226.358 curveto stroke
    147 newpath 349.1 -223.334 moveto 313.638 -238.202 lineto 311.672 -214.514 lineto closepath fill
    148 4.56973 setlinewidth 0 0 1 setrgbcolor newpath
     146118.401 -242.479 129.015 -241.598 332.39 -224.721 curveto stroke
     147newpath 344.348 -223.728 moveto 332.72 -228.707 lineto 332.059 -220.734 lineto closepath fill
     1482 setlinewidth 0 0 1 setrgbcolor newpath
    149149-105.193 -261.035 moveto
    150 -156.746 -168.566 -164.987 -153.784 -202.693 -86.1539 curveto stroke
    151 newpath -220.5 -54.2129 moveto -192.312 -80.3665 lineto -213.073 -91.9413 lineto closepath fill
    152 4.56973 setlinewidth 0 0 1 setrgbcolor newpath
     150-160.867 -161.176 -166.028 -151.918 -212.336 -68.858 curveto stroke
     151newpath -218.179 -58.3769 moveto -208.842 -66.9102 lineto -215.829 -70.8058 lineto closepath fill
     1522 setlinewidth 0 0 1 setrgbcolor newpath
    153153-227.918 -40.9084 moveto
    154 -290.327 -77.7521 -304.558 -86.1532 -344.995 -110.026 curveto stroke
    155 newpath -376.487 -128.617 moveto -351.037 -99.7914 lineto -338.953 -120.26 lineto closepath fill
     154-298.35 -82.4884 -307.42 -87.8432 -362.048 -120.093 curveto stroke
     155newpath -372.381 -126.193 moveto -364.081 -116.648 lineto -360.014 -123.537 lineto closepath fill
    156156grestore
    157157%Nodes:
    158158gsave
    159 -389.604 -136.361 15.2324 0 1 0 nc
    160 -227.918 -40.9084 15.2324 0 1 0 nc
    161 -105.193 -261.035 15.2324 0 1 0 nc
    162 364.28 -222.074 15.2324 1 1 0 nc
    163 670.118 -118.829 15.2324 1 1 0 nc
    164 342.851 111.037 15.2324 1 1 0 nc
    165 5.84406 175.322 15.2324 1 1 0 nc
    166 169.478 311.683 15.2324 1 1 0 nc
    167 -173.374 377.916 15.2324 1 0 1 nc
    168 -251.294 -335.059 15.2324 0 1 0 nc
    169 -266.879 114.933 15.2324 0 0 0 nc
    170 -368.176 331.163 15.2324 0 0 0 nc
    171 -490.901 120.777 15.2324 0 0 0 nc
    172 -574.666 -153.893 15.2324 1 0 0 nc
    173 -675.963 -3.89604 15.2324 1 0 0 nc
    174 -465.576 -42.8564 15.2324 1 0 0 nc
    175 44.8044 15.5841 15.2324 0 0 1 nc
    176 157.79 -130.517 15.2324 0 0 1 nc
    177 218.178 27.2723 15.2324 0 0 1 nc
     159-389.604 -136.361 20 0 1 0 nc
     160-227.918 -40.9084 20 0 1 0 nc
     161-105.193 -261.035 20 0 1 0 nc
     162364.28 -222.074 20 1 1 0 nc
     163670.118 -118.829 20 1 1 0 nc
     164342.851 111.037 20 1 1 0 nc
     1655.84406 175.322 20 1 1 0 nc
     166169.478 311.683 20 1 1 0 nc
     167-173.374 377.916 20 1 0 1 nc
     168-251.294 -335.059 20 0 1 0 nc
     169-266.879 114.933 20 0 0 0 nc
     170-368.176 331.163 20 0 0 0 nc
     171-490.901 120.777 20 0 0 0 nc
     172-574.666 -153.893 20 1 0 0 nc
     173-675.963 -3.89604 20 1 0 0 nc
     174-465.576 -42.8564 20 1 0 0 nc
     17544.8044 15.5841 20 0 0 1 nc
     176157.79 -130.517 20 0 0 1 nc
     177218.178 27.2723 20 0 0 1 nc
    178178grestore
    179179grestore
  • doc/mainpage.dox.in

    r1053 r930  
    2626It is a C++ template library providing efficient implementations of common
    2727data structures and algorithms with focus on combinatorial optimization
    28 tasks connected mainly with graphs and networks \cite DezsoJuttnerKovacs11Lemon.
     28tasks connected mainly with graphs and networks.
    2929
    3030<b>
     
    3838The project is maintained by the
    3939<a href="http://www.cs.elte.hu/egres/">Egerv&aacute;ry Research Group on
    40 Combinatorial Optimization</a> \cite egres
     40Combinatorial Optimization</a> \ref egres
    4141at the Operations Research Department of the
    4242<a href="http://www.elte.hu/en/">E&ouml;tv&ouml;s Lor&aacute;nd University</a>,
    4343Budapest, Hungary.
    4444LEMON is also a member of the <a href="http://www.coin-or.org/">COIN-OR</a>
    45 initiative \cite coinor.
     45initiative \ref coinor.
    4646
    4747\section howtoread How to Read the Documentation
  • doc/min_cost_flow.dox

    r1053 r1002  
    2727minimum total cost from a set of supply nodes to a set of demand nodes
    2828in a network with capacity constraints (lower and upper bounds)
    29 and arc costs \cite amo93networkflows.
     29and arc costs \ref amo93networkflows.
    3030
    3131Formally, let \f$G=(V,A)\f$ be a digraph, \f$lower: A\rightarrow\mathbf{R}\f$,
  • doc/references.bib

    r1051 r1002  
    2020                  {O}perations {R}esearch},
    2121  url =          {http://www.coin-or.org/}
    22 }
    23 
    24 
    25 %%%%% Papers related to LEMON %%%%%
    26 
    27 @article{DezsoJuttnerKovacs11Lemon,
    28   author =       {B. Dezs{\H o} and A. J\"uttner and P. Kov\'acs},
    29   title =        {{LEMON} -- an open source {C++} graph template library},
    30   journal =      {Electronic Notes in Theoretical Computer Science},
    31   volume =       {264},
    32   pages =        {23--45},
    33   year =         {2011},
    34   note =         {Proc. 2nd Workshop on Generative Technologies}
    35 }
    36 
    37 @article{KiralyKovacs12MCF,
    38   author =       {Z. Kir\'aly and P. Kov\'acs},
    39   title =        {Efficient implementations of minimum-cost flow algorithms},
    40   journal =      {Acta Universitatis Sapientiae, Informatica},
    41   year =         {2012},
    42   volume =       {4},
    43   pages =        {67--118}
    4422}
    4523
  • lemon/CMakeLists.txt

    r1062 r981  
    3737IF(LEMON_HAVE_CPLEX)
    3838  SET(LEMON_SOURCES ${LEMON_SOURCES} cplex.cc)
    39   INCLUDE_DIRECTORIES(${ILOG_INCLUDE_DIRS})
     39  INCLUDE_DIRECTORIES(${CPLEX_INCLUDE_DIRS})
    4040ENDIF()
    4141
  • lemon/base.cc

    r1054 r477  
    2222#include<lemon/tolerance.h>
    2323#include<lemon/core.h>
    24 #include<lemon/time_measure.h>
    2524namespace lemon {
    2625
     
    3332#endif
    3433
    35   TimeStamp::Format TimeStamp::_format = TimeStamp::NORMAL;
    36 
    3734} //namespace lemon
  • lemon/capacity_scaling.h

    r1071 r1070  
    6767  /// \ref CapacityScaling implements the capacity scaling version
    6868  /// of the successive shortest path algorithm for finding a
    69   /// \ref min_cost_flow "minimum cost flow" \cite amo93networkflows,
    70   /// \cite edmondskarp72theoretical. It is an efficient dual
    71   /// solution method, which runs in polynomial time
    72   /// \f$O(e\log U (n+e)\log n)\f$, where <i>U</i> denotes the maximum
    73   /// of node supply and arc capacity values.
     69  /// \ref min_cost_flow "minimum cost flow" \ref amo93networkflows,
     70  /// \ref edmondskarp72theoretical. It is an efficient dual
     71  /// solution method.
    7472  ///
    7573  /// This algorithm is typically slower than \ref CostScaling and
  • lemon/cbc.h

    r1064 r877  
    1717 */
    1818
     19// -*- C++ -*-
    1920#ifndef LEMON_CBC_H
    2021#define LEMON_CBC_H
  • lemon/concepts/bpgraph.h

    r1049 r1028  
    998998      /// \brief The base node of the iterator.
    999999      ///
    1000       /// Returns the base node of the given incoming arc iterator
     1000      /// Returns the base node of the given incomming arc iterator
    10011001      /// (i.e. the target node of the corresponding arc).
    10021002      Node baseNode(InArcIt) const { return INVALID; }
     
    10041004      /// \brief The running node of the iterator.
    10051005      ///
    1006       /// Returns the running node of the given incoming arc iterator
     1006      /// Returns the running node of the given incomming arc iterator
    10071007      /// (i.e. the source node of the corresponding arc).
    10081008      Node runningNode(InArcIt) const { return INVALID; }
  • lemon/concepts/digraph.h

    r1049 r877  
    410410      /// \brief The base node of the iterator.
    411411      ///
    412       /// Returns the base node of the given incoming arc iterator
     412      /// Returns the base node of the given incomming arc iterator
    413413      /// (i.e. the target node of the corresponding arc).
    414414      Node baseNode(InArcIt) const { return INVALID; }
     
    416416      /// \brief The running node of the iterator.
    417417      ///
    418       /// Returns the running node of the given incoming arc iterator
     418      /// Returns the running node of the given incomming arc iterator
    419419      /// (i.e. the source node of the corresponding arc).
    420420      Node runningNode(InArcIt) const { return INVALID; }
  • lemon/concepts/graph.h

    r1049 r1018  
    758758      /// \brief The base node of the iterator.
    759759      ///
    760       /// Returns the base node of the given incoming arc iterator
     760      /// Returns the base node of the given incomming arc iterator
    761761      /// (i.e. the target node of the corresponding arc).
    762762      Node baseNode(InArcIt) const { return INVALID; }
     
    764764      /// \brief The running node of the iterator.
    765765      ///
    766       /// Returns the running node of the given incoming arc iterator
     766      /// Returns the running node of the given incomming arc iterator
    767767      /// (i.e. the source node of the corresponding arc).
    768768      Node runningNode(InArcIt) const { return INVALID; }
  • lemon/concepts/graph_components.h

    r1049 r1028  
    876876      void next(Arc&) const {}
    877877
    878       /// \brief Return the first arc incoming to the given node.
    879       ///
    880       /// This function gives back the first arc incoming to the
     878      /// \brief Return the first arc incomming to the given node.
     879      ///
     880      /// This function gives back the first arc incomming to the
    881881      /// given node.
    882882      void firstIn(Arc&, const Node&) const {}
    883883
    884       /// \brief Return the next arc incoming to the given node.
    885       ///
    886       /// This function gives back the next arc incoming to the
     884      /// \brief Return the next arc incomming to the given node.
     885      ///
     886      /// This function gives back the next arc incomming to the
    887887      /// given node.
    888888      void nextIn(Arc&) const {}
  • lemon/config.h.in

    r1064 r981  
    77#cmakedefine LEMON_HAVE_CLP 1
    88#cmakedefine LEMON_HAVE_CBC 1
    9 #cmakedefine LEMON_DEFAULT_LP @LEMON_DEFAULT_LP@
    10 #cmakedefine LEMON_DEFAULT_MIP @LEMON_DEFAULT_MIP@
    119#cmakedefine LEMON_USE_PTHREAD 1
    1210#cmakedefine LEMON_USE_WIN32_THREADS 1
  • lemon/core.h

    r1069 r1027  
    3636#ifdef _MSC_VER
    3737#pragma warning( disable : 4250 4355 4503 4800 4996 )
    38 #endif
    39 
    40 #ifdef __GNUC__
    41 // Needed by the [DI]GRAPH_TYPEDEFS marcos for gcc 4.8
    42 #pragma GCC diagnostic ignored "-Wunused-local-typedefs"
    4338#endif
    4439
  • lemon/cost_scaling.h

    r1071 r1070  
    9292  /// \ref CostScaling implements a cost scaling algorithm that performs
    9393  /// push/augment and relabel operations for finding a \ref min_cost_flow
    94   /// "minimum cost flow" \cite amo93networkflows, \cite goldberg90approximation,
    95   /// \cite goldberg97efficient, \cite bunnagel98efficient.
     94  /// "minimum cost flow" \ref amo93networkflows, \ref goldberg90approximation,
     95  /// \ref goldberg97efficient, \ref bunnagel98efficient.
    9696  /// It is a highly efficient primal-dual solution method, which
    9797  /// can be viewed as the generalization of the \ref Preflow
    9898  /// "preflow push-relabel" algorithm for the maximum flow problem.
    99   /// It is a polynomial algorithm, its running time complexity is
    100   /// \f$O(n^2e\log(nK))\f$, where <i>K</i> denotes the maximum arc cost.
    10199  ///
    102100  /// In general, \ref NetworkSimplex and \ref CostScaling are the fastest
     
    12851283          _buckets[r] = _bucket_next[u];
    12861284
    1287           // Search the incoming arcs of u
     1285          // Search the incomming arcs of u
    12881286          LargeCost pi_u = _pi[u];
    12891287          int last_out = _first_out[u+1];
  • lemon/cplex.cc

    r1063 r1016  
    492492                   _message_enabled ? CPX_ON : CPX_OFF);
    493493  }
    494 
    495   void CplexBase::_write(std::string file, std::string format) const
    496   {
    497     if(format == "MPS" || format == "LP")
    498       CPXwriteprob(cplexEnv(), cplexLp(), file.c_str(), format.c_str());
    499     else if(format == "SOL")
    500       CPXsolwrite(cplexEnv(), cplexLp(), file.c_str());
    501     else throw UnsupportedFormatError(format);
    502   }
    503 
    504 
    505494
    506495  // CplexLp members
  • lemon/cplex.h

    r1063 r746  
    151151    bool _message_enabled;
    152152
    153     void _write(std::string file, std::string format) const;
    154 
    155153  public:
    156154
     
    173171    const cpxlp* cplexLp() const { return _prob; }
    174172
    175 #ifdef DOXYGEN
    176     /// Write the problem or the solution to a file in the given format
    177 
    178     /// This function writes the problem or the solution
    179     /// to a file in the given format.
    180     /// Trying to write in an unsupported format will trigger
    181     /// \ref UnsupportedFormatError.
    182     /// \param file The file path
    183     /// \param format The output file format.
    184     /// Supportted formats are "MPS", "LP" and "SOL".
    185     void write(std::string file, std::string format = "MPS") const {}
    186 #endif
    187 
    188173  };
    189174
  • lemon/cycle_canceling.h

    r1071 r1070  
    4848  /// \ref CycleCanceling implements three different cycle-canceling
    4949  /// algorithms for finding a \ref min_cost_flow "minimum cost flow"
    50   /// \cite amo93networkflows, \cite klein67primal,
    51   /// \cite goldberg89cyclecanceling.
     50  /// \ref amo93networkflows, \ref klein67primal,
     51  /// \ref goldberg89cyclecanceling.
    5252  /// The most efficent one is the \ref CANCEL_AND_TIGHTEN
    5353  /// "Cancel-and-Tighten" algorithm, thus it is the default method.
    54   /// It runs in strongly polynomial time O(n<sup>2</sup>e<sup>2</sup>log(n)),
    55   /// but in practice, it is typically orders of magnitude slower than
    56   /// the scaling algorithms and \ref NetworkSimplex.
     54  /// It runs in strongly polynomial time, but in practice, it is typically
     55  /// orders of magnitude slower than the scaling algorithms and
     56  /// \ref NetworkSimplex.
    5757  /// (For more information, see \ref min_cost_flow_algs "the module page".)
    5858  ///
     
    132132      /// The "Minimum Mean Cycle-Canceling" algorithm, which is a
    133133      /// well-known strongly polynomial method
    134       /// \cite goldberg89cyclecanceling. It improves along a
     134      /// \ref goldberg89cyclecanceling. It improves along a
    135135      /// \ref min_mean_cycle "minimum mean cycle" in each iteration.
    136136      /// Its running time complexity is O(n<sup>2</sup>e<sup>3</sup>log(n)).
     
    138138      /// The "Cancel-and-Tighten" algorithm, which can be viewed as an
    139139      /// improved version of the previous method
    140       /// \cite goldberg89cyclecanceling.
     140      /// \ref goldberg89cyclecanceling.
    141141      /// It is faster both in theory and in practice, its running time
    142142      /// complexity is O(n<sup>2</sup>e<sup>2</sup>log(n)).
  • lemon/glpk.cc

    r1063 r989  
    581581      break;
    582582    }
    583   }
    584 
    585   void GlpkBase::_write(std::string file, std::string format) const
    586   {
    587     if(format == "MPS")
    588       glp_write_mps(lp, GLP_MPS_FILE, 0, file.c_str());
    589     else if(format == "LP")
    590       glp_write_lp(lp, 0, file.c_str());
    591     else throw UnsupportedFormatError(format);
    592583  }
    593584
     
    1008999  const char* GlpkMip::_solverName() const { return "GlpkMip"; }
    10091000
    1010 
    1011 
    10121001} //END OF NAMESPACE LEMON
  • lemon/glpk.h

    r1063 r877  
    116116    virtual void _messageLevel(MessageLevel level);
    117117
    118     virtual void _write(std::string file, std::string format) const;
    119 
    120118  private:
    121119
     
    147145    int lpxCol(Col c) const { return cols(id(c)); }
    148146
    149 #ifdef DOXYGEN
    150     /// Write the problem or the solution to a file in the given format
    151    
    152     /// This function writes the problem or the solution
    153     /// to a file in the given format.
    154     /// Trying to write in an unsupported format will trigger
    155     /// \ref UnsupportedFormatError.
    156     /// \param file The file path
    157     /// \param format The output file format.
    158     /// Supportted formats are "MPS" and "LP".
    159     void write(std::string file, std::string format = "MPS") const {}
    160 #endif
    161 
    162147  };
    163148
  • lemon/grosso_locatelli_pullan_mc.h

    r1053 r918  
    4141  /// \ref GrossoLocatelliPullanMc implements the iterated local search
    4242  /// algorithm of Grosso, Locatelli, and Pullan for solving the \e maximum
    43   /// \e clique \e problem \cite grosso08maxclique.
     43  /// \e clique \e problem \ref grosso08maxclique.
    4444  /// It is to find the largest complete subgraph (\e clique) in an
    4545  /// undirected graph, i.e., the largest set of nodes where each
  • lemon/hartmann_orlin_mmc.h

    r1053 r1002  
    9999  /// This class implements the Hartmann-Orlin algorithm for finding
    100100  /// a directed cycle of minimum mean cost in a digraph
    101   /// \cite hartmann93finding, \cite dasdan98minmeancycle.
    102   /// This method is based on \ref KarpMmc "Karp"'s original algorithm, but
    103   /// applies an early termination scheme. It makes the algorithm
    104   /// significantly faster for some problem instances, but slower for others.
    105   /// The algorithm runs in time O(ne) and uses space O(n<sup>2</sup>+e).
     101  /// \ref hartmann93finding, \ref dasdan98minmeancycle.
     102  /// It is an improved version of \ref KarpMmc "Karp"'s original algorithm,
     103  /// it applies an efficient early termination scheme.
     104  /// It runs in time O(ne) and uses space O(n<sup>2</sup>+e).
    106105  ///
    107106  /// \tparam GR The type of the digraph the algorithm runs on.
     
    276275    ///
    277276    /// If you don't call this function before calling \ref run() or
    278     /// \ref findCycleMean(), a local \ref Path "path" structure
    279     /// will be allocated. The destuctor deallocates this automatically
     277    /// \ref findCycleMean(), it will allocate a local \ref Path "path"
     278    /// structure. The destuctor deallocates this automatically
    280279    /// allocated object, of course.
    281280    ///
  • lemon/howard_mmc.h

    r1053 r1012  
    9999  /// This class implements Howard's policy iteration algorithm for finding
    100100  /// a directed cycle of minimum mean cost in a digraph
    101   /// \cite dasdan98minmeancycle, \cite dasdan04experimental.
     101  /// \ref dasdan98minmeancycle, \ref dasdan04experimental.
    102102  /// This class provides the most efficient algorithm for the
    103103  /// minimum mean cycle problem, though the best known theoretical
     
    283283    ///
    284284    /// If you don't call this function before calling \ref run() or
    285     /// \ref findCycleMean(), a local \ref Path "path" structure
    286     /// will be allocated. The destuctor deallocates this automatically
     285    /// \ref findCycleMean(), it will allocate a local \ref Path "path"
     286    /// structure. The destuctor deallocates this automatically
    287287    /// allocated object, of course.
    288288    ///
  • lemon/karp_mmc.h

    r1053 r1002  
    9999  /// This class implements Karp's algorithm for finding a directed
    100100  /// cycle of minimum mean cost in a digraph
    101   /// \cite karp78characterization, \cite dasdan98minmeancycle.
     101  /// \ref karp78characterization, \ref dasdan98minmeancycle.
    102102  /// It runs in time O(ne) and uses space O(n<sup>2</sup>+e).
    103103  ///
     
    271271    ///
    272272    /// If you don't call this function before calling \ref run() or
    273     /// \ref findCycleMean(), a local \ref Path "path" structure
    274     /// will be allocated. The destuctor deallocates this automatically
     273    /// \ref findCycleMean(), it will allocate a local \ref Path "path"
     274    /// structure. The destuctor deallocates this automatically
    275275    /// allocated object, of course.
    276276    ///
  • lemon/list_graph.h

    r1049 r1025  
    446446    ///or changeTarget(), thus \c ArcIt and \c OutArcIt iterators are
    447447    ///invalidated for the outgoing arcs of node \c v and \c InArcIt
    448     ///iterators are invalidated for the incoming arcs of \c v.
     448    ///iterators are invalidated for the incomming arcs of \c v.
    449449    ///Moreover all iterators referencing node \c v or the removed
    450450    ///loops are also invalidated. Other iterators remain valid.
  • lemon/lp.h

    r1064 r877  
    6060  ///\ingroup lp_group
    6161  ///
    62   ///Currently, the possible values are \c GLPK, \c CPLEX or \c CBC
     62  ///Currently, the possible values are \c GLPK or \c CPLEX
    6363#define LEMON_DEFAULT_MIP SOLVER
    6464  ///The default MIP solver.
     
    6767  ///\ingroup lp_group
    6868  ///
    69   ///Currently, it is either \c GlpkMip, \c CplexMip , \c CbcMip
     69  ///Currently, it is either \c GlpkMip or \c CplexMip
    7070  typedef GlpkMip Mip;
    7171#else
    72 #if LEMON_DEFAULT_LP == GLPK
     72#ifdef LEMON_HAVE_GLPK
     73# define LEMON_DEFAULT_LP GLPK
    7374  typedef GlpkLp Lp;
    74 #elif LEMON_DEFAULT_LP == CPLEX
     75# define LEMON_DEFAULT_MIP GLPK
     76  typedef GlpkMip Mip;
     77#elif LEMON_HAVE_CPLEX
     78# define LEMON_DEFAULT_LP CPLEX
    7579  typedef CplexLp Lp;
    76 #elif LEMON_DEFAULT_LP == SOPLEX
     80# define LEMON_DEFAULT_MIP CPLEX
     81  typedef CplexMip Mip;
     82#elif LEMON_HAVE_SOPLEX
     83# define DEFAULT_LP SOPLEX
    7784  typedef SoplexLp Lp;
    78 #elif LEMON_DEFAULT_LP == CLP
     85#elif LEMON_HAVE_CLP
     86# define DEFAULT_LP CLP
    7987  typedef ClpLp Lp;
    80 #endif
    81 #if LEMON_DEFAULT_MIP == GLPK
    82   typedef GlpkLp Mip;
    83 #elif LEMON_DEFAULT_MIP == CPLEX
    84   typedef CplexMip Mip;
    85 #elif LEMON_DEFAULT_MIP == CBC
    86   typedef CbcMip Mip;
    8788#endif
    8889#endif
  • lemon/lp_base.h

    r1063 r989  
    10081008  public:
    10091009
    1010     ///\e
    1011     class UnsupportedFormatError : public Exception
    1012     {
    1013       std::string _format;
    1014       mutable std::string _what;
    1015     public:
    1016       explicit UnsupportedFormatError(std::string format) throw()
    1017         : _format(format) { }
    1018       virtual ~UnsupportedFormatError() throw() {}
    1019       virtual const char* what() const throw() {
    1020         try {
    1021           _what.clear();
    1022           std::ostringstream oss;
    1023           oss << "lemon::UnsupportedFormatError: " << _format;
    1024           _what = oss.str();
    1025         }
    1026         catch (...) {}
    1027         if (!_what.empty()) return _what.c_str();
    1028         else return "lemon::UnsupportedFormatError";
    1029       }
    1030     };
    1031    
    1032   protected:
    1033     virtual void _write(std::string, std::string format) const
    1034     {
    1035       throw UnsupportedFormatError(format);
    1036     }
    1037    
    1038   public:
    1039 
    10401010    /// Virtual destructor
    10411011    virtual ~LpBase() {}
     
    15861556    void min() { _setSense(MIN); }
    15871557
    1588     ///Clear the problem
     1558    ///Clears the problem
    15891559    void clear() { _clear(); rows.clear(); cols.clear(); }
    15901560
    1591     /// Set the message level of the solver
     1561    /// Sets the message level of the solver
    15921562    void messageLevel(MessageLevel level) { _messageLevel(level); }
    1593 
    1594     /// Write the problem to a file in the given format
    1595 
    1596     /// This function writes the problem to a file in the given format.
    1597     /// Different solver backends may support different formats.
    1598     /// Trying to write in an unsupported format will trigger
    1599     /// \ref UnsupportedFormatError. For the supported formats,
    1600     /// visit the documentation of the base class of the related backends
    1601     /// (\ref CplexBase, \ref GlpkBase etc.)
    1602     /// \param file The file path
    1603     /// \param format The output file format.
    1604     void write(std::string file, std::string format = "MPS") const
    1605     {
    1606       _write(file.c_str(),format.c_str());
    1607     }
    16081563
    16091564    ///@}
  • lemon/lp_skeleton.cc

    r1063 r877  
    9292  void SkeletonSolverBase::_messageLevel(MessageLevel) {}
    9393
    94   void SkeletonSolverBase::_write(std::string, std::string) const {}
    95 
    9694  LpSkeleton::SolveExitStatus LpSkeleton::_solve() { return SOLVED; }
    9795
  • lemon/lp_skeleton.h

    r1063 r877  
    145145    ///\e
    146146    virtual void _messageLevel(MessageLevel);
    147 
    148     ///\e
    149     virtual void _write(std::string file, std::string format) const;
    150 
    151147  };
    152148
     
    227223    ///\e
    228224    virtual const char* _solverName() const;
    229 
    230225  };
    231226
  • lemon/math.h

    r1054 r877  
    6666    }
    6767
    68   ///Round a value to its closest integer
    69   inline double round(double r) {
    70     return (r > 0.0) ? floor(r + 0.5) : ceil(r - 0.5);
    71   }
    72 
    7368  /// @}
    7469
    7570} //namespace lemon
    7671
    77 #endif //LEMON_MATH_H
     72#endif //LEMON_TOLERANCE_H
  • lemon/network_simplex.h

    r1071 r1070  
    4242  /// \ref NetworkSimplex implements the primal Network Simplex algorithm
    4343  /// for finding a \ref min_cost_flow "minimum cost flow"
    44   /// \cite amo93networkflows, \cite dantzig63linearprog,
    45   /// \cite kellyoneill91netsimplex.
     44  /// \ref amo93networkflows, \ref dantzig63linearprog,
     45  /// \ref kellyoneill91netsimplex.
    4646  /// This algorithm is a highly efficient specialized version of the
    4747  /// linear programming simplex method directly for the minimum cost
     
    15171517          }
    15181518        } else {
    1519           // Find the min. cost incoming arc for each demand node
     1519          // Find the min. cost incomming arc for each demand node
    15201520          for (int i = 0; i != int(demand_nodes.size()); ++i) {
    15211521            Node v = demand_nodes[i];
  • lemon/path.h

    r1044 r1000  
    318318      /// Constructor with starting point
    319319      ArcIt(const SimplePath &_path, int _idx)
    320         : path(&_path), idx(_idx) {}
     320        : idx(_idx), path(&_path) {}
    321321
    322322    public:
  • lemon/preflow.h

    r1053 r966  
    103103  /// This class provides an implementation of Goldberg-Tarjan's \e preflow
    104104  /// \e push-relabel algorithm producing a \ref max_flow
    105   /// "flow of maximum value" in a digraph \cite clrs01algorithms,
    106   /// \cite amo93networkflows, \cite goldberg88newapproach.
     105  /// "flow of maximum value" in a digraph \ref clrs01algorithms,
     106  /// \ref amo93networkflows, \ref goldberg88newapproach.
    107107  /// The preflow algorithms are the fastest known maximum
    108108  /// flow algorithms. The current implementation uses a mixture of the
  • lemon/time_measure.h

    r1054 r786  
    3535#include <fstream>
    3636#include <iostream>
    37 #include <lemon/math.h>
    3837
    3938namespace lemon {
     
    6564    double rtime;
    6665
    67   public:
    68     ///Display format specifier
    69 
    70     ///\e
    71     ///
    72     enum Format {
    73       /// Reports all measured values
    74       NORMAL = 0,
    75       /// Only real time and an error indicator is displayed
    76       SHORT = 1
    77     };
    78 
    79   private:
    80     static Format _format;
    81 
    8266    void _reset() {
    8367      utime = stime = cutime = cstime = rtime = 0;
     
    8670  public:
    8771
    88     ///Set output format
    89 
    90     ///Set output format.
    91     ///
    92     ///The output format is global for all timestamp instances.
    93     static void format(Format f) { _format = f; }
    94     ///Retrieve the current output format
    95 
    96     ///Retrieve the current output format
    97     ///
    98     ///The output format is global for all timestamp instances.
    99     static Format format() { return _format; }
    100 
    101    
    10272    ///Read the current time values of the process
    10373    void stamp()
     
    255225  inline std::ostream& operator<<(std::ostream& os,const TimeStamp &t)
    256226  {
    257     switch(t._format)
    258       {
    259       case TimeStamp::NORMAL:
    260         os << "u: " << t.userTime() <<
    261           "s, s: " << t.systemTime() <<
    262           "s, cu: " << t.cUserTime() <<
    263           "s, cs: " << t.cSystemTime() <<
    264           "s, real: " << t.realTime() << "s";
    265         break;
    266       case TimeStamp::SHORT:
    267         double total = t.userTime()+t.systemTime()+
    268           t.cUserTime()+t.cSystemTime();
    269         os << t.realTime()
    270            << "s (err: " << round((t.realTime()-total)/
    271                                   t.realTime()*10000)/100
    272            << "%)";
    273         break;
    274       }
     227    os << "u: " << t.userTime() <<
     228      "s, s: " << t.systemTime() <<
     229      "s, cu: " << t.cUserTime() <<
     230      "s, cs: " << t.cSystemTime() <<
     231      "s, real: " << t.realTime() << "s";
    275232    return os;
    276233  }
     
    512469    std::string _title;
    513470    std::ostream &_os;
    514     bool _active;
    515471  public:
    516472    ///Constructor
     
    520476    ///\param os The stream to print the report to.
    521477    ///\param run Sets whether the timer should start immediately.
    522     ///\param active Sets whether the report should actually be printed
    523     ///       on destruction.
    524     TimeReport(std::string title,std::ostream &os=std::cerr,bool run=true,
    525                bool active=true)
    526       : Timer(run), _title(title), _os(os), _active(active) {}
     478    TimeReport(std::string title,std::ostream &os=std::cerr,bool run=true)
     479      : Timer(run), _title(title), _os(os){}
    527480    ///Destructor that prints the ellapsed time
    528481    ~TimeReport()
    529482    {
    530       if(_active) _os << _title << *this << std::endl;
    531     }
    532    
    533     ///Retrieve the activity status
    534 
    535     ///\e
    536     ///
    537     bool active() const { return _active; }
    538     ///Set the activity status
    539 
    540     /// This function set whether the time report should actually be printed
    541     /// on destruction.
    542     void active(bool a) { _active=a; }
     483      _os << _title << *this << std::endl;
     484    }
    543485  };
    544486
  • test/CMakeLists.txt

    r1065 r1038  
    4242  max_cardinality_search_test
    4343  max_clique_test
    44   max_flow_test
    4544  min_cost_arborescence_test
    4645  min_cost_flow_test
     
    4948  path_test
    5049  planarity_test
     50  preflow_test
    5151  radix_sort_test
    5252  random_test
     
    7070  ENDIF()
    7171  IF(LEMON_HAVE_CPLEX)
    72     SET(LP_TEST_LIBS ${LP_TEST_LIBS} ${ILOG_LIBRARIES})
     72    SET(LP_TEST_LIBS ${LP_TEST_LIBS} ${CPLEX_LIBRARIES})
    7373  ENDIF()
    7474  IF(LEMON_HAVE_CLP)
     
    9494    GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
    9595    ADD_CUSTOM_COMMAND(TARGET lp_test POST_BUILD
    96       COMMAND ${CMAKE_COMMAND} -E copy ${ILOG_CPLEX_DLL} ${TARGET_PATH}
     96      COMMAND ${CMAKE_COMMAND} -E copy ${CPLEX_BIN_DIR}/cplex.dll ${TARGET_PATH}
    9797    )
    9898  ENDIF()
     
    112112  ENDIF()
    113113  IF(LEMON_HAVE_CPLEX)
    114     SET(MIP_TEST_LIBS ${MIP_TEST_LIBS} ${ILOG_LIBRARIES})
     114    SET(MIP_TEST_LIBS ${MIP_TEST_LIBS} ${CPLEX_LIBRARIES})
    115115  ENDIF()
    116116  IF(LEMON_HAVE_CBC)
     
    136136    GET_FILENAME_COMPONENT(TARGET_PATH ${TARGET_LOC} PATH)
    137137    ADD_CUSTOM_COMMAND(TARGET mip_test POST_BUILD
    138       COMMAND ${CMAKE_COMMAND} -E copy ${ILOG_CPLEX_DLL} ${TARGET_PATH}
     138      COMMAND ${CMAKE_COMMAND} -E copy ${CPLEX_BIN_DIR}/cplex.dll ${TARGET_PATH}
    139139    )
    140140  ENDIF()
  • test/lp_test.cc

    r1064 r988  
    241241  {
    242242    LP::DualExpr e,f,g;
    243     LP::Row p1 = INVALID, p2 = INVALID;
     243    LP::Row p1 = INVALID, p2 = INVALID, p3 = INVALID,
     244      p4 = INVALID, p5 = INVALID;
    244245
    245246    e[p1]=2;
  • test/maps_test.cc

    r1067 r998  
    536536
    537537    typedef Orienter<Graph, const ConstMap<Edge, bool> > Digraph;
    538     ConstMap<Edge, bool> true_edge_map(true);
    539     Digraph dgr(gr, true_edge_map);
     538    Digraph dgr(gr, constMap<Edge, bool>(true));
    540539    OutDegMap<Digraph> odm(dgr);
    541540    InDegMap<Digraph> idm(dgr);
  • test/path_test.cc

    r1044 r990  
    2222#include <lemon/concepts/path.h>
    2323#include <lemon/concepts/digraph.h>
    24 #include <lemon/concept_check.h>
    2524
    2625#include <lemon/path.h>
     
    3231using namespace lemon;
    3332
    34 template <typename GR>
    35 void checkConcepts() {
    36   checkConcept<concepts::Path<GR>, concepts::Path<GR> >();
    37   checkConcept<concepts::Path<GR>, Path<GR> >();
    38   checkConcept<concepts::Path<GR>, SimplePath<GR> >();
    39   checkConcept<concepts::Path<GR>, StaticPath<GR> >();
    40   checkConcept<concepts::Path<GR>, ListPath<GR> >();
    41 }
    42 
    43 // Conecpt checking for path structures
    44 void checkPathConcepts() {
    45   checkConcepts<concepts::Digraph>();
    46   checkConcepts<ListDigraph>();
     33void check_concepts() {
     34  checkConcept<concepts::Path<ListDigraph>, concepts::Path<ListDigraph> >();
     35  checkConcept<concepts::Path<ListDigraph>, Path<ListDigraph> >();
     36  checkConcept<concepts::Path<ListDigraph>, SimplePath<ListDigraph> >();
     37  checkConcept<concepts::Path<ListDigraph>, StaticPath<ListDigraph> >();
     38  checkConcept<concepts::Path<ListDigraph>, ListPath<ListDigraph> >();
    4739}
    4840
    4941// Check if proper copy consructor is called (use valgrind for testing)
    50 template <typename GR, typename P1, typename P2>
    51 void checkCopy(typename GR::Arc a) {
    52   P1 p;
     42template<class _Path>
     43void checkCopy()
     44{
     45  ListDigraph g;
     46  ListDigraph::Arc a  = g.addArc(g.addNode(), g.addNode());
     47 
     48  _Path p,q;
    5349  p.addBack(a);
    54   P1 q;
    55   q = p;
    56   P1 r(p);
    57   P2 q2;
    58   q2 = p;
    59   P2 r2(p);
     50  q=p;
     51  _Path r(p);
     52  StaticPath<ListDigraph> s(r);
    6053}
     54 
     55int main() {
     56  check_concepts();
    6157
    62 // Tests for copy constructors and assignment operators of paths
    63 void checkPathCopy() {
     58  checkCopy<Path<ListDigraph> >();
     59  checkCopy<SimplePath<ListDigraph> >();
     60  checkCopy<ListPath<ListDigraph> >();
     61
    6462  ListDigraph g;
    65   ListDigraph::Arc a = g.addArc(g.addNode(), g.addNode());
    66 
    67   typedef Path<ListDigraph> Path1;
    68   typedef SimplePath<ListDigraph> Path2;
    69   typedef ListPath<ListDigraph> Path3;
    70   typedef StaticPath<ListDigraph> Path4;
    71   checkCopy<ListDigraph, Path1, Path2>(a);
    72   checkCopy<ListDigraph, Path1, Path3>(a);
    73   checkCopy<ListDigraph, Path1, Path4>(a);
    74   checkCopy<ListDigraph, Path2, Path1>(a);
    75   checkCopy<ListDigraph, Path2, Path3>(a);
    76   checkCopy<ListDigraph, Path2, Path4>(a);
    77   checkCopy<ListDigraph, Path3, Path1>(a);
    78   checkCopy<ListDigraph, Path3, Path2>(a);
    79   checkCopy<ListDigraph, Path3, Path4>(a);
    80 }
    81 
    82 // Class for testing path functions
    83 class CheckPathFunctions {
    84   typedef ListDigraph GR;
    85   DIGRAPH_TYPEDEFS(GR);
    86   GR gr;
    87   const GR& cgr;
    88   Node n1, n2, n3, n4;
    89   Node tmp_n;
    90   Arc a1, a2, a3, a4;
    91   Arc tmp_a;
    92 
    93 public:
    94 
    95   CheckPathFunctions() : cgr(gr) {
    96     n1 = gr.addNode();
    97     n2 = gr.addNode();
    98     n3 = gr.addNode();
    99     n4 = gr.addNode();
    100     a1 = gr.addArc(n1, n2);
    101     a2 = gr.addArc(n2, n3);
    102     a3 = gr.addArc(n3, n4);
    103     a4 = gr.addArc(n4, n1);
    104   }
    105 
    106   void run() {
    107     checkBackAndFrontInsertablePath<Path<GR> >();
    108     checkBackAndFrontInsertablePath<ListPath<GR> >();
    109     checkBackInsertablePath<SimplePath<GR> >();
    110 
    111     checkListPathSplitAndSplice();
    112   }
    113 
    114 private:
    115 
    116   template <typename P>
    117   void checkBackInsertablePath() {
    118 
    119     // Create and check empty path
    120     P p;
    121     const P& cp = p;
    122     check(cp.empty(), "The path is not empty");
    123     check(cp.length() == 0, "The path is not empty");
    124 //    check(cp.front() == INVALID, "Wrong front()");
    125 //    check(cp.back() == INVALID, "Wrong back()");
    126     typename P::ArcIt ai(cp);
    127     check(ai == INVALID, "Wrong ArcIt");
    128     check(pathSource(cgr, cp) == INVALID, "Wrong pathSource()");
    129     check(pathTarget(cgr, cp) == INVALID, "Wrong pathTarget()");
    130     check(checkPath(cgr, cp), "Wrong checkPath()");
    131     PathNodeIt<P> ni(cgr, cp);
    132     check(ni == INVALID, "Wrong PathNodeIt");
    133 
    134     // Check single-arc path
    135     p.addBack(a1);
    136     check(!cp.empty(), "Wrong empty()");
    137     check(cp.length() == 1, "Wrong length");
    138     check(cp.front() == a1, "Wrong front()");
    139     check(cp.back() == a1, "Wrong back()");
    140     check(cp.nth(0) == a1, "Wrong nth()");
    141     ai = cp.nthIt(0);
    142     check((tmp_a = ai) == a1, "Wrong nthIt()");
    143     check(++ai == INVALID, "Wrong nthIt()");
    144     typename P::ArcIt ai2(cp);
    145     check((tmp_a = ai2) == a1, "Wrong ArcIt");
    146     check(++ai2 == INVALID, "Wrong ArcIt");
    147     check(pathSource(cgr, cp) == n1, "Wrong pathSource()");
    148     check(pathTarget(cgr, cp) == n2, "Wrong pathTarget()");
    149     check(checkPath(cgr, cp), "Wrong checkPath()");
    150     PathNodeIt<P> ni2(cgr, cp);
    151     check((tmp_n = ni2) == n1, "Wrong PathNodeIt");
    152     check((tmp_n = ++ni2) == n2, "Wrong PathNodeIt");
    153     check(++ni2 == INVALID, "Wrong PathNodeIt");
    154 
    155     // Check adding more arcs
    156     p.addBack(a2);
    157     p.addBack(a3);
    158     check(!cp.empty(), "Wrong empty()");
    159     check(cp.length() == 3, "Wrong length");
    160     check(cp.front() == a1, "Wrong front()");
    161     check(cp.back() == a3, "Wrong back()");
    162     check(cp.nth(0) == a1, "Wrong nth()");
    163     check(cp.nth(1) == a2, "Wrong nth()");
    164     check(cp.nth(2) == a3, "Wrong nth()");
    165     typename P::ArcIt ai3(cp);
    166     check((tmp_a = ai3) == a1, "Wrong ArcIt");
    167     check((tmp_a = ++ai3) == a2, "Wrong nthIt()");
    168     check((tmp_a = ++ai3) == a3, "Wrong nthIt()");
    169     check(++ai3 == INVALID, "Wrong nthIt()");
    170     ai = cp.nthIt(0);
    171     check((tmp_a = ai) == a1, "Wrong nthIt()");
    172     check((tmp_a = ++ai) == a2, "Wrong nthIt()");
    173     ai = cp.nthIt(2);
    174     check((tmp_a = ai) == a3, "Wrong nthIt()");
    175     check(++ai == INVALID, "Wrong nthIt()");
    176     check(pathSource(cgr, cp) == n1, "Wrong pathSource()");
    177     check(pathTarget(cgr, cp) == n4, "Wrong pathTarget()");
    178     check(checkPath(cgr, cp), "Wrong checkPath()");
    179     PathNodeIt<P> ni3(cgr, cp);
    180     check((tmp_n = ni3) == n1, "Wrong PathNodeIt");
    181     check((tmp_n = ++ni3) == n2, "Wrong PathNodeIt");
    182     check((tmp_n = ++ni3) == n3, "Wrong PathNodeIt");
    183     check((tmp_n = ++ni3) == n4, "Wrong PathNodeIt");
    184     check(++ni3 == INVALID, "Wrong PathNodeIt");
    185 
    186     // Check arc removal and addition
    187     p.eraseBack();
    188     p.eraseBack();
    189     p.addBack(a2);
    190     check(!cp.empty(), "Wrong empty()");
    191     check(cp.length() == 2, "Wrong length");
    192     check(cp.front() == a1, "Wrong front()");
    193     check(cp.back() == a2, "Wrong back()");
    194     check(pathSource(cgr, cp) == n1, "Wrong pathSource()");
    195     check(pathTarget(cgr, cp) == n3, "Wrong pathTarget()");
    196     check(checkPath(cgr, cp), "Wrong checkPath()");
    197 
    198     // Check clear()
    199     p.clear();
    200     check(cp.empty(), "The path is not empty");
    201     check(cp.length() == 0, "The path is not empty");
    202 
    203     // Check inconsistent path
    204     p.addBack(a4);
    205     p.addBack(a2);
    206     p.addBack(a1);
    207     check(!cp.empty(), "Wrong empty()");
    208     check(cp.length() == 3, "Wrong length");
    209     check(cp.front() == a4, "Wrong front()");
    210     check(cp.back() == a1, "Wrong back()");
    211     check(pathSource(cgr, cp) == n4, "Wrong pathSource()");
    212     check(pathTarget(cgr, cp) == n2, "Wrong pathTarget()");
    213     check(!checkPath(cgr, cp), "Wrong checkPath()");
    214   }
    215 
    216   template <typename P>
    217   void checkBackAndFrontInsertablePath() {
    218 
    219     // Include back insertable test cases
    220     checkBackInsertablePath<P>();
    221 
    222     // Check front and back insertion
    223     P p;
    224     const P& cp = p;
    225     p.addFront(a4);
    226     p.addBack(a1);
    227     p.addFront(a3);
    228     check(!cp.empty(), "Wrong empty()");
    229     check(cp.length() == 3, "Wrong length");
    230     check(cp.front() == a3, "Wrong front()");
    231     check(cp.back() == a1, "Wrong back()");
    232     check(cp.nth(0) == a3, "Wrong nth()");
    233     check(cp.nth(1) == a4, "Wrong nth()");
    234     check(cp.nth(2) == a1, "Wrong nth()");
    235     typename P::ArcIt ai(cp);
    236     check((tmp_a = ai) == a3, "Wrong ArcIt");
    237     check((tmp_a = ++ai) == a4, "Wrong nthIt()");
    238     check((tmp_a = ++ai) == a1, "Wrong nthIt()");
    239     check(++ai == INVALID, "Wrong nthIt()");
    240     ai = cp.nthIt(0);
    241     check((tmp_a = ai) == a3, "Wrong nthIt()");
    242     check((tmp_a = ++ai) == a4, "Wrong nthIt()");
    243     ai = cp.nthIt(2);
    244     check((tmp_a = ai) == a1, "Wrong nthIt()");
    245     check(++ai == INVALID, "Wrong nthIt()");
    246     check(pathSource(cgr, cp) == n3, "Wrong pathSource()");
    247     check(pathTarget(cgr, cp) == n2, "Wrong pathTarget()");
    248     check(checkPath(cgr, cp), "Wrong checkPath()");
    249 
    250     // Check eraseFront()
    251     p.eraseFront();
    252     p.addBack(a2);
    253     check(!cp.empty(), "Wrong empty()");
    254     check(cp.length() == 3, "Wrong length");
    255     check(cp.front() == a4, "Wrong front()");
    256     check(cp.back() == a2, "Wrong back()");
    257     check(cp.nth(0) == a4, "Wrong nth()");
    258     check(cp.nth(1) == a1, "Wrong nth()");
    259     check(cp.nth(2) == a2, "Wrong nth()");
    260     typename P::ArcIt ai2(cp);
    261     check((tmp_a = ai2) == a4, "Wrong ArcIt");
    262     check((tmp_a = ++ai2) == a1, "Wrong nthIt()");
    263     check((tmp_a = ++ai2) == a2, "Wrong nthIt()");
    264     check(++ai2 == INVALID, "Wrong nthIt()");
    265     ai = cp.nthIt(0);
    266     check((tmp_a = ai) == a4, "Wrong nthIt()");
    267     check((tmp_a = ++ai) == a1, "Wrong nthIt()");
    268     ai = cp.nthIt(2);
    269     check((tmp_a = ai) == a2, "Wrong nthIt()");
    270     check(++ai == INVALID, "Wrong nthIt()");
    271     check(pathSource(cgr, cp) == n4, "Wrong pathSource()");
    272     check(pathTarget(cgr, cp) == n3, "Wrong pathTarget()");
    273     check(checkPath(cgr, cp), "Wrong checkPath()");
    274   }
    275 
    276   void checkListPathSplitAndSplice() {
    277 
    278     // Build a path with spliceFront() and spliceBack()
    279     ListPath<GR> p1, p2, p3, p4;
    280     p1.addBack(a3);
    281     p1.addFront(a2);
    282     p2.addBack(a1);
    283     p1.spliceFront(p2);
    284     p3.addFront(a4);
    285     p1.spliceBack(p3);
    286     check(p1.length() == 4, "Wrong length");
    287     check(p1.front() == a1, "Wrong front()");
    288     check(p1.back() == a4, "Wrong back()");
    289     ListPath<GR>::ArcIt ai(p1);
    290     check((tmp_a = ai) == a1, "Wrong ArcIt");
    291     check((tmp_a = ++ai) == a2, "Wrong nthIt()");
    292     check((tmp_a = ++ai) == a3, "Wrong nthIt()");
    293     check((tmp_a = ++ai) == a4, "Wrong nthIt()");
    294     check(++ai == INVALID, "Wrong nthIt()");
    295     check(checkPath(cgr, p1), "Wrong checkPath()");
    296 
    297     // Check split()
    298     p1.split(p1.nthIt(2), p2);
    299     check(p1.length() == 2, "Wrong length");
    300     ai = p1.nthIt(0);
    301     check((tmp_a = ai) == a1, "Wrong ArcIt");
    302     check((tmp_a = ++ai) == a2, "Wrong nthIt()");
    303     check(++ai == INVALID, "Wrong nthIt()");
    304     check(checkPath(cgr, p1), "Wrong checkPath()");
    305     check(p2.length() == 2, "Wrong length");
    306     ai = p2.nthIt(0);
    307     check((tmp_a = ai) == a3, "Wrong ArcIt");
    308     check((tmp_a = ++ai) == a4, "Wrong nthIt()");
    309     check(++ai == INVALID, "Wrong nthIt()");
    310     check(checkPath(cgr, p2), "Wrong checkPath()");
    311 
    312     // Check split() and splice()
    313     p1.spliceFront(p2);
    314     p1.split(p1.nthIt(2), p2);
    315     p2.split(p2.nthIt(1), p3);
    316     p2.spliceBack(p1);
    317     p2.splice(p2.nthIt(1), p3);
    318     check(p2.length() == 4, "Wrong length");
    319     check(p2.front() == a1, "Wrong front()");
    320     check(p2.back() == a4, "Wrong back()");
    321     ai = p2.nthIt(0);
    322     check((tmp_a = ai) == a1, "Wrong ArcIt");
    323     check((tmp_a = ++ai) == a2, "Wrong nthIt()");
    324     check((tmp_a = ++ai) == a3, "Wrong nthIt()");
    325     check((tmp_a = ++ai) == a4, "Wrong nthIt()");
    326     check(++ai == INVALID, "Wrong nthIt()");
    327     check(checkPath(cgr, p2), "Wrong checkPath()");
    328   }
    329 
    330 };
    331 
    332 int main() {
    333   checkPathConcepts();
    334   checkPathCopy();
    335   CheckPathFunctions cpf;
    336   cpf.run();
     63  ListDigraph::Arc a  = g.addArc(g.addNode(), g.addNode());
     64 
     65  Path<ListDigraph> p;
     66  StaticPath<ListDigraph> q,r;
     67  p.addBack(a);
     68  q=p;
     69  r=q;
     70  StaticPath<ListDigraph> s(q);
    33771
    33872  return 0;
Note: See TracChangeset for help on using the changeset viewer.