1 2008-02-08 Version 0.7 released |
1 2008-02-08 Version 0.7 released |
2 |
2 New Features |
3 * added |
3 + new data structures |
4 - new data structures |
4 * classes |
5 classes |
5 StaticGraph |
6 StaticGraphBase |
|
7 ExtendFindEnum |
6 ExtendFindEnum |
8 BfsVisitor class |
7 BfsVisitor class |
9 Bipartite partitions based on visitors |
8 Bipartite partitions based on visitors |
10 helper class for checking existence of a nested class |
9 * helper class for checking existence of a nested class |
11 general mapping based variant type |
10 * general mapping based variant type |
12 IntegerMap |
11 * IntegerMap |
13 - new functions and tools |
12 + new algoritmhs |
|
13 * Lagrange relaxation based algorithm for the delay constrained least cost path problem |
|
14 * a preflow based general network circulation algorithm |
|
15 * 2-approximation of Steiner-tree problem |
|
16 * two heuristics (http://www.avglab.com/andrew/pub/neci-tr-96-132.ps) |
|
17 * tsp2, a minimum spanning tree based TSP algorithm |
|
18 * Delaunay triangulation |
|
19 * Gomory-Hu tree algorithm |
|
20 * Edmond's Blossom shrinking algorithm |
|
21 * minimum mean cycle algorithm |
|
22 * Goldberg-Tarjan algorithm (Preflow with Dynamic Trees) |
|
23 * Dinitz-Sleator-Tarjan (Blocking flow with Dynamic Tree) |
|
24 * min cost flow algorithms: |
|
25 * successive shortest path algorithm |
|
26 * capacity scaling algorithm |
|
27 * simple cycle canceling algorithm |
|
28 * minimum mean cycle canceling algorithm |
|
29 * cost scaling algorithm |
|
30 * network simplex algorithm |
|
31 + new functions and tools |
14 ArgParser, a command line argument parser |
32 ArgParser, a command line argument parser |
15 DistLog, a tool for measuring one and two dimensional distributions |
33 * DistLog, a tool for measuring one and two dimensional distributions |
16 undirected minimum cut benchmarking |
34 * undirected minimum cut benchmarking |
17 tools/lgf-gen.cc, a random graph generator |
35 * tools/lgf-gen.cc, a random graph generator |
18 BpUGraphReader and Writer |
36 * BpUGraphReader and Writer |
19 DynEdgeLookUp implementation based on splay trees |
37 * DynEdgeLookUp implementation based on splay trees |
20 MACROS for debug map usage |
38 * MACROS for debug map usage |
21 - new algoritmhs |
39 + new distributions (Gaussian, exponential, Gamma, two dimensional random, buffered bit generation) |
22 Lagrange relaxation based algorithm for the delay constrained least cost path problem |
40 + push-relabel type algorithm related additions |
23 a preflow based general network circulation algorithm |
41 * Elevator, a class for handling item labels in push-relabel type algorithms |
24 2-approximation of Steiner-tree problem |
42 * a push/relabel type max cardinality matching implementation |
25 two heuristics (http://www.avglab.com/andrew/pub/neci-tr-96-132.ps) |
43 * some query function for push-relabel based matching |
26 tsp2, a minimum spanning tree based TSP algorithm |
44 + LP related additions |
27 Delaunay triangulation |
45 * Soplex support |
28 Gomory-Hu tree algorithm |
46 * ColIt class |
29 Edmond's Blossom shrinking algorithm |
47 * new functions (simplify(), isFinite(), row and col getter function) |
30 minimum mean cycle algorithm |
48 * _setColCoeff and _setRowCoeff parameters |
31 Goldberg-Tarjan algorithm (Preflow with Dynamic Trees) |
49 * section reader and writer for LEMON IO |
32 Dinitz-Sleator-Tarjan (Blocking flow with Dynamic Tree) |
50 * equality-type constraint can now be added to a LP |
33 - new distributions (Gaussian, exponential, Gamma, two dimensional random, buffered bit generation) |
51 * virtual functions of class LpCplex |
34 - push-relabel type algorithm related additions |
52 * some query functions for GLPK |
35 Elevator, a class for handling item labels in push-relabel type algorithms |
53 + demos |
36 a push/relabel type max cardinality matching implementation |
54 * preflow based general network circulation demo |
37 some query function for push-relabel based matching |
55 * Steiner 2-approximation demo |
38 - LP related additions |
56 * demo for SAT problems |
39 Soplex support |
57 * sample input for sat-2 and sat demos |
40 ColIt class |
58 + tests for |
41 new functions (simplify(), isFinite(), row and col getter function) |
59 * graph copies |
42 _setColCoeff and _setRowCoeff parameters |
60 * random.h |
43 section reader and writer for lemon IO |
61 * max weighted matchings |
44 equality-type constraint can now be added to a LP |
62 + planarity related additions |
45 virtual functions of class LpCplex |
63 * checking and embedding |
46 some query functions for GLPK |
64 * planar grid embedding |
47 - demos |
65 * planar graph coloring |
48 preflow based general network circulation demo |
66 + bipartite matchings |
49 Steiner 2-approximation demo |
67 * common interface |
50 demo for SAT problems |
68 * Query functions: aMatching and bMatching |
51 sample input for sat-2 and sat demos |
69 * ANodeMap<UEdge> matching map |
52 - tests for |
70 * BNodeMap<bool> barrier map |
53 graph copies |
71 Repository reorganization |
54 random.h |
72 * script for automatic checking of SVN commit's consistency |
55 max weighted matchings |
73 * automatic doc generation from the SVN trunk |
56 - rename graphs script |
74 * check for gcc version 3.3, 3.4, 4.0 and 4.1.2 as well |
57 - planarity related additions |
75 * reorganization of the modules and groups |
58 checking and embedding |
76 * a tools directory added for useful executables codes |
59 planar grid embedding |
77 * doxygen |
60 planar graph coloring |
78 * renaming topology doxygen group to graph_prop doxygen group |
61 - administrative improvements |
79 * introducing planar doxygen group |
62 script for automatic checking of SVN commit's consistency |
80 Changes |
63 automatic doc generation from the SVN trunk |
81 * redesigned |
64 check for gcc version 3.3, 3.4, 4.0 and 4.1.2 as well |
82 * undirected edgesets (like the smart graph or ugraph) |
65 reorganization of the modules and groups |
83 * interface of MaxMatching and UnionFindEnum |
66 a tools directory added for useful executables codes |
84 * interface of maximum flow algorithms |
67 doxygen |
85 * Kruskal algorithm |
68 renaming topology doxygen group to graph_prop doxygen group |
86 * augmenting path based bipartite matching |
69 introducing planar doxygen group |
87 Improvements |
70 - bipartite matchings |
88 * graph copy |
71 common interface |
89 * preliminary support for static graphs |
72 Query functions: aMatching and bMatching |
90 * added BpUGraphCopy |
73 ANodeMap<UEdge> matching map |
91 * Bfs/Dfs/Dijkstra |
74 BNodeMap<bool> barrier map |
92 * conditional execution until the target is reached |
75 |
93 * modified start() function in Dfs and Dijkstra classes to give back reached edge/node |
76 * changed, modified, improved |
94 * return the temporary distance of the current node |
77 - redesigned |
95 * using operation traits |
78 undirected edgesets (like the smart or ugraph) |
96 * patch for retrieving reached/processed node |
79 interface of MaxMatching and UnionFindEnum |
97 * prescaling can be turned off in GraphToEps |
80 interface of maximum flow algorithms |
98 * better handling of inexact computations |
81 Kruskal algorithm |
99 * easier inverse |
82 augmenting path based bipartite matching |
100 * faster geometric minimum spanning tree algorithm |
83 - min cost flows |
101 * new implementation of undirected graphs |
84 various min cost flow solvers |
102 * Hao-Orlin algorithm became epsilon-safe |
85 redesigned CapacityScaling algorithm |
103 * LpSoplex |
86 - graph copy |
104 * added getter functions |
87 preliminary support for static graphs |
105 * better m4 file |
88 added BpUGraphCopy |
106 * better handling of unsolved lps |
89 - execution |
107 * allowing 'string' type quoting for item reading and writing |
90 conditional execution until the target is reached |
108 * clear() function for union-find structures |
91 modified start() function in Dfs and Dijkstra classes to give back reached edge/node |
109 * hacking MIP is possible without integer variables |
92 - Dijkstra |
110 * space reservation for SmartGraph |
93 return the temporary distance of the current node |
111 * path |
94 using operation traits |
112 * PathNodeIt |
95 - patch for retrieving reached/processed node in dijkstra, bfs and dfs |
|
96 - prescaling can be turned off in GraphToEps |
|
97 - better handling of inexact computation |
|
98 - easier inverse |
|
99 - faster geometric minimum spanning tree |
|
100 - new implementation of undirected graphs |
|
101 - Hao-Orlin algorithm became epsilon-safe |
|
102 - LpSoplex |
|
103 added getter functions |
|
104 better m4 file |
|
105 better handling of unsolved lps |
|
106 - allowing 'string' type quoting |
|
107 - clear() function for unionfinds |
|
108 - integer parameters also converted to double |
|
109 - hacking mip is possible without integer variables |
|
110 - space reservation for SmartGraph |
|
111 - path |
|
112 PathNodeIt |
|
113 PathWriter/Reader structures |
113 PathWriter/Reader structures |
114 Distinct MapSet readers and writers |
114 Distinct MapSet readers and writers |
115 more simple interface for PathDumper |
115 * more simple interface for PathDumper |
116 |
116 Updated |
117 * updated |
117 * tutorial for |
118 - tutorial for |
118 * algorithms |
119 algorithms |
119 * graph visualization |
120 graph visualization |
120 * documentation |
121 - documentation |
121 Backward incompatibilities/changed namings |
122 |
122 * min_cut.h => nagamochi_ibaraki.h |
123 * rename |
123 * clone => build |
124 - min_cut.h => nagamochi_ibaraki.h |
124 * RevIt => RevEdgeIt |
125 - clone => build |
125 * _FixId => LpId |
126 - RevIt => RevEdgeIt |
126 * setObj => obj |
127 - _FixId => LpId |
127 * is_min => isMin |
128 - setObj => obj |
128 * is_max => isMax |
129 - is_min => isMin |
129 * ball2() => disc() |
130 - is_max => isMax |
130 * state_enum => State |
131 - 'hugo' => 'lemon' |
131 * getNotifier => notifier |
132 - ball2() => disc() |
132 * using LEMON_ASSERT instead of LogicError() |
133 - state_enum => State |
133 * uedgeset is an alias for edgeset |
134 - getNotifier => notifier |
134 * CPXMIP_OPTIMAL_TOL status is considered as OPTIMAL too |
135 - using LEMON_ASSERT instead of LogicError() |
135 * removed "Type" suffix from typedefs |
136 - uedgeset is an alias for edgeset |
136 * lower case local variables |
137 - CPXMIP_OPTIMAL_TOL status is considered as OPTIMAL too |
137 Removed |
138 - removed "Type" suffix from typedefs |
|
139 - lower case local variables |
|
140 |
|
141 * removed |
|
142 - template Map template parameter from InvertableMaps |
138 - template Map template parameter from InvertableMaps |
143 - unionfind Item template parameter |
139 - unionfind Item template parameter |
144 - strict checking |
140 - strict checking |
145 - some automatic callback generation |
141 - some automatic callback generation |
146 '-Wshadow' seemed too strict therefore removed |
142 - '-Wshadow' seemed too strict therefore removed |
147 |
143 Several bugfixes |
148 * several bugfixes |
|
149 |
144 |
150 2006-10-31 Version 0.6 Released |
145 2006-10-31 Version 0.6 Released |
151 * GLEMON has moved to a separate repository |
146 GLEMON has moved to a separate repository |
152 (https://hugo.cs.elte.hu/svn/glemon/trunk) |
147 (https://hugo.cs.elte.hu/svn/glemon/trunk) |
153 * New Features |
148 New Features |
154 - Mixed Integer Programming (MIP) support |
149 + Mixed Integer Programming (MIP) support |
155 - interface to GLPK and CPLEX MIP solvers |
150 + interface to GLPK and CPLEX MIP solvers |
156 - Data structures |
151 + Data structures |
157 - Bipatrite graph concepts and implementations |
152 * Bipatrite graph concepts and implementations |
158 - a Polinomial template class |
153 * a Polinomial template class |
159 - RefPtr: a reference counted pointer class |
154 * RefPtr: a reference counted pointer class |
160 - SimpleBucketHeap |
155 * SimpleBucketHeap |
161 - random.h: Mersenne Twister random number generator |
156 + random.h: Mersenne Twister random number generator |
162 - EdgeLookUp and AllEdgeLookUp |
157 + EdgeLookUp and AllEdgeLookUp |
163 - Tools to find edges between to nodes in time O(log d) |
158 + Tools to find edges between to nodes in time O(log d) |
164 - new matching algorithms |
159 + new matching algorithms |
165 - Bipartite Graph Max Cardinality Matching (Hopcroft-Karp) |
160 + Bipartite Graph Max Cardinality Matching (Hopcroft-Karp) |
166 - MaxWeightedBipartiteMatching |
161 + MaxWeightedBipartiteMatching |
167 - MinCostMaxBipartiteMatching |
162 + MinCostMaxBipartiteMatching |
168 - MaxCardinalitySearch |
163 + MaxCardinalitySearch |
169 - MinimalCut in UGraph |
164 + MinimalCut in UGraph |
170 - Tabu Search framework |
165 + Tabu Search framework |
171 - Minimum Cost Arborescence algorithm |
166 + Minimum Cost Arborescence algorithm |
172 - Edmonds-Karp MaxFlow |
167 + Edmonds-Karp MaxFlow |
173 - Hao-Orlin algorithm |
168 + Hao-Orlin algorithm |
174 - eps.h: A simple tool to create .eps pictures. |
169 + eps.h: A simple tool to create .eps pictures. |
175 * Backward incompatibilities/changed namings: |
170 Backward incompatibilities/changed namings: |
176 - UndirXyz -> UXyz |
171 * UndirXyz -> UXyz |
177 - UNDIRGRAPH_TYPEDEFS -> UGRAPH_TYPEDEFS |
172 * UNDIRGRAPH_TYPEDEFS -> UGRAPH_TYPEDEFS |
178 - GridGraph -> GridUGraph |
173 * GridGraph -> GridUGraph |
179 - LinearHeap -> BucketHeap |
174 * LinearHeap -> BucketHeap |
180 - ColorSet -> Palette |
175 * ColorSet -> Palette |
181 - xy -> dim2::Point |
176 * xy -> dim2::Point |
182 - DirPath -> Path |
177 * DirPath -> Path |
183 - concept -> concepts (namespace & directory) |
178 * concept -> concepts (namespace & directory) |
184 - LpSolverBase |
179 * LpSolverBase |
185 - ColName() -> colName |
180 * ColName() -> colName |
186 - Coeff() -> coeff() |
181 * Coeff() -> coeff() |
187 - MinCostFlow -> SspMinCostFlow |
182 * MinCostFlow -> SspMinCostFlow |
188 * Repository reorganization: |
183 Repository reorganization: |
189 - compilation is conducted by a single makefile |
184 * compilation is conducted by a single makefile |
190 - internal building blocks are now in a separate directory |
185 * internal building blocks are now in a separate directory |
191 (lemon/bits) |
186 (lemon/bits) |
192 * Major improvements many algorithms and data structures. |
187 Major improvements of many algorithms and data structures |
193 * Several bugfixes |
188 Several bugfixes |
194 * Compatibility issues: |
189 Compatibility issues: |
195 - known to compile with |
190 * known to compile with |
196 - GCC 3.3, 3.4, 4.0, 4.1 |
191 * GCC 3.3, 3.4, 4.0, 4.1 |
197 - MinGW, MinGW32 |
192 * MinGW, MinGW32 |
198 - Intel C++ 9.x support |
193 * Intel C++ 9.x support |
199 |
194 |
200 2006-02-03 Version 0.5 Released |
195 2006-02-03 Version 0.5 Released |
201 * New features: |
196 New features |
202 - Bfs/Dfs/Dijkstra |
197 + Shortest paths algorithms |
203 + query functions for the next node/edge to be processed |
198 * bellman_ford.h |
204 + visitor interface for dfs |
199 * floyd_warshall.h |
205 - topology.h: small functions for discovering graph topology |
200 * johnson.h |
206 + connected components, strongly connected components |
201 + Euler tour iterator for directed and undirected graphs |
207 + bipartiteness testing |
202 + Other algorithms: |
208 - Shortest paths algorithms: |
203 * dag_shortest_path.h |
209 bellman_ford.h, floyd_warshall.h, johnson.h |
204 * fredman_tarjan.h and prim.h for min cost trees |
210 - Euler tour iterator for directed and undirected graphs |
205 + Bipartite graph concept and implementations |
211 - Other algorithms: |
206 + Graph maps: |
212 + dag_shortest_path.h |
207 * template assign operator |
213 + fredman_tarjan.h and prim.h for min cost trees |
208 * specialized iterable bool map |
214 - Bipartite graph concept and implementations |
209 * potential difference map |
215 - Graph maps: |
210 * NodeMatrixMap -- Matrix over the nodes |
216 + template assign operator |
211 + Maps: |
217 + specialized iterable bool map |
212 * IterableIntMap |
218 + potential difference map |
213 + Tools: |
219 + NodeMatrixMap -- Matrix over the nodes |
214 * Timer can be stop()ed and (re)start()ed |
220 - Maps: |
215 * radix sort algorithm |
221 + IterableIntMap |
216 * tolerance.h for working with imprecise numbers |
222 - GUI: |
217 New demos, benchmarks and tools |
223 + NewMap window in MapSelector |
218 + graph_orientation.cc: A thoroughly documented demo application |
224 + Algorithm window and some algorithms (eg. Kruskal) added |
219 + runningTimeTest(): a tool to measure running times more precisely |
225 - LemonReader: |
220 + Demo for topology |
226 + exception on non-existent files |
221 + counter.h: a tool to measure the number of steps of algorithms |
227 - LP interface: |
222 + Some useful scripts: check-compiler, check-integrity |
228 + (Dual)Expr::simplify(double tolerance) added |
223 Improvements |
229 + getDual() |
224 + Bfs/Dfs/Dijkstra |
230 - GraphToEps: |
225 * query functions for the next node/edge to be processed |
231 + negateY() opt |
226 * visitor interface for dfs |
232 + male/female node shapes :) |
227 + topology.h: small functions for discovering graph topology |
233 + correct %%BoundingBox handling |
228 * connected components, strongly connected components |
234 - Tools: |
229 * bipartiteness testing |
235 + Timer can be stop()ed and (re)start()ed |
230 + GUI: |
236 + radix sort algorithm |
231 * NewMap window in MapSelector |
237 + tolerance.h for working with imprecise numbers |
232 * Algorithm window and some algorithms (eg. Kruskal) added |
238 * Backward incompatibilities/changed namings: |
233 + LemonReader: |
239 - Access functions of TimeStamp/Timer |
234 * exception on non-existent files |
240 - Undir graph interface: findUEdge, ConUEdgeIt |
235 + LP interface: |
241 - pred -> predEdge renaming in search algorithms |
236 * (Dual)Expr::simplify(double tolerance) added |
242 - SnapShot -> Snapshot in {List,Smart}Graph |
237 * getDual() |
243 - NewEdgeSetAdaptor -> ListEdgeSet |
238 + GraphToEps: |
244 - LP: set{Obj,Row,Col}() -> {obj,row,col}() |
239 * negateY() opt |
245 - "label" instead of "id" inside the LGF files |
240 * male/female node shapes :) |
246 - UndirGraph -> UGraph, UndirEdge* -> UEdge* |
241 * correct %%BoundingBox handling |
247 - BipartiteGraph -> BpGraph, Lower/UpperNode* -> A/BNode* |
242 Backward incompatibilities/changed namings: |
248 * Bugfixes in |
243 * Access functions of TimeStamp/Timer |
249 - DFS |
244 * Undir graph interface: findUEdge, ConUEdgeIt |
250 - Preflow |
245 * pred -> predEdge renaming in search algorithms |
251 - x86_64 connected bugfixes (lemon_reader.h) |
246 * SnapShot -> Snapshot in {List,Smart}Graph |
252 - lp.h |
247 * NewEdgeSetAdaptor -> ListEdgeSet |
253 * New demos, benchmarks and tools: |
248 * LP: set{Obj,Row,Col}() -> {obj,row,col}() |
254 - graph_orientation.cc: A thoroughly documented demo application |
249 * "label" instead of "id" inside the LGF files |
255 - runningTimeTest(): a tool to measure running times more precisely |
250 * UndirGraph -> UGraph, UndirEdge* -> UEdge* |
256 - Demo for topology |
251 * BipartiteGraph -> BpGraph, Lower/UpperNode* -> A/BNode* |
257 - counter.h: a tool to measure the number of steps of algorithms |
252 Bugfixes in |
258 - Some useful scripts: check-compiler, check-integrity |
253 * DFS |
259 * Other changes: |
254 * Preflow |
260 - Demos and benchmarks are not built by default now. They can be |
255 * x86_64 connected bugfixes (lemon_reader.h) |
261 enabled with the --enable-demo and --enable-benchmark |
256 * lp.h |
262 configure flags. |
257 Other changes |
263 - GCC 4.0.3 and ICC 9.0 compatibility |
258 * Demos and benchmarks are not built by default now. They can be |
264 |
259 * enabled with the --enable-demo and --enable-benchmark |
|
260 * configure flags. |
|
261 * GCC 4.0.3 and ICC 9.0 compatibility |
|
262 |
265 2005-08-27 Version 0.4 Released |
263 2005-08-27 Version 0.4 Released |
266 * List of new features and changes |
264 New features |
267 * Changed namings: |
265 + More and better graph I/O functionalities |
268 Wrapper -> Adaptor |
266 + High level uniform LP solver interface to CPLEX and GLKP |
269 kruskalEdgeMap() -> kruskal() |
267 + New map adaptors |
270 kruskalEdgeMap_IteratorOut() -> kruskal() |
268 + New convenience maps |
271 * BoundinBox<> |
269 * IdMap, DescriptorMap |
272 * operator+=() -> add() |
270 * InDegMap, OutDegMap |
273 + clear() |
271 * XMap, YMap |
274 + More and better graph I/O functionalities |
272 + Default graph maps are iterable |
275 + High level uniform LP solver interface to CPLEX and GLKP |
273 + glemon: a graph editor |
276 * graphToEps() |
274 + Some new demo codes added, the old ones got polished. |
277 + Automatic node size and edge width scaling |
275 Improvements |
278 + Simple color palette tool (ColorSet) |
276 + graphToEps() |
279 * Bfs/Dfs/Dijkstra |
277 * Automatic node size and edge width scaling |
280 + Step-by-step execution |
278 * Simple color palette tool (ColorSet) |
281 + Run from multiple sources |
279 + Bfs/Dfs/Dijkstra |
282 + Used define stop condition |
280 * Step-by-step execution |
283 + Improved "named parameters" |
281 * Run from multiple sources |
284 * Preflow |
282 * Used define stop condition |
285 + Function type interface |
283 * Improved "named parameters" |
286 + Changed interface |
284 + Preflow |
287 * ListGraph/SmarGraph |
285 * Function type interface |
288 + split() splits a node |
286 * Changed interface |
289 + SnapShot |
287 + ListGraph/SmarGraph |
290 + New map adaptors |
288 * split() splits a node |
291 + New convenience maps |
289 * SnapShot |
292 + IdMap, DescriptorMap |
290 Changes |
293 + InDegMap, OutDegMap |
291 * Changed namings: |
294 + XMap, YMap |
292 * Wrapper -> Adaptor |
295 + Default graph maps are iterable |
293 * kruskalEdgeMap() -> kruskal() |
296 + glemon: a graph editor |
294 * kruskalEdgeMap_IteratorOut() -> kruskal() |
297 + Some new demo codes added, the old ones got polished. |
295 * BoundingBox<> |
298 * Better documentation |
296 * operator+=() -> add() |
299 * Several important bugfixes |
297 + clear() |
300 * Now lemon should compile without warnings with |
298 * Better documentation |
301 * gcc 3.3, 3.4, 4.0 |
299 * Several important bugfixes |
302 * Intel C++ Compiler v9.0 |
300 * Now lemon should compile without warnings with |
|
301 * gcc 3.3, 3.4, 4.0 |
|
302 * Intel C++ Compiler v9.0 |
303 |
303 |
304 2005-03-19 Version 0.3.1 Released |
304 2005-03-19 Version 0.3.1 Released |
305 * This release fixes a compilation failure bug under cygwin. |
305 This release fixes a compilation failure bug under cygwin. |
306 |
306 |
307 2005-02-21 Version 0.3 released |
307 2005-02-21 Version 0.3 released |
308 * List of new features and changes |
308 |
309 * Redesigned Graph infrastructures |
309 New features |
310 + Standardized LEMON exceptions |
310 + Standardized LEMON exceptions |
311 + Undirected Graph |
311 + Undirected Graph |
312 + Standard graph file format, input and output classes for it. |
312 + Standard graph file format, input and output classes for it. |
313 * head() -> target(), tail() -> source() |
313 + GraphToEps: A simple graph drawer |
314 * Some standard namings have changes: |
314 Changes |
315 ValueType -> Value, |
315 * Redesigned Graph infrastructures |
316 KeyType -> Key, |
316 * head() -> target(), tail() -> source() |
317 ReferenceType ->Reference, |
317 * Some standard namings have changes: |
318 PointerType -> Pointer |
318 ValueType -> Value, |
319 + GraphToEps: A simple graph drawer |
319 KeyType -> Key, |
320 * Better documentation |
320 ReferenceType ->Reference, |
321 |
321 PointerType -> Pointer |
|
322 * Better documentation |
|
323 |
322 2004-09-30 Version 0.2 released |
324 2004-09-30 Version 0.2 released |
323 |
|