[Lemon-commits] Alpar Juttner: Merge >=1.2 branch heads
Lemon HG
hg at lemon.cs.elte.hu
Sun Aug 11 22:38:35 CEST 2013
details: http://lemon.cs.elte.hu/hg/lemon/rev/ad40f7d32846
changeset: 1284:ad40f7d32846
user: Alpar Juttner <alpar [at] cs.elte.hu>
date: Sun Aug 11 15:28:12 2013 +0200
description:
Merge >=1.2 branch heads
diffstat:
.hgignore | 1 +
CMakeLists.txt | 2 +
INSTALL | 22 +
LICENSE | 2 +-
Makefile.am | 1 +
NEWS | 160 +-
README | 8 +
configure.ac | 17 +
demo/arg_parser_demo.cc | 13 +-
doc/CMakeLists.txt | 5 +-
doc/Doxyfile.in | 3 +-
doc/Makefile.am | 17 +-
doc/groups.dox | 242 ++-
doc/images/matching.eps | 130 +
doc/images/planar.eps | 181 ++
doc/mainpage.dox.in | 30 +-
doc/min_cost_flow.dox | 12 +-
doc/references.bib | 301 +++
lemon/Makefile.am | 16 +-
lemon/adaptors.h | 108 +-
lemon/arg_parser.cc | 21 +-
lemon/arg_parser.h | 56 +-
lemon/bellman_ford.h | 1115 ++++++++++++++
lemon/bfs.h | 167 +-
lemon/bin_heap.h | 220 +-
lemon/binomial_heap.h | 445 +++++
lemon/bits/array_map.h | 4 +-
lemon/bits/default_map.h | 4 +-
lemon/bits/edge_set_extender.h | 222 +-
lemon/bits/graph_extender.h | 10 +-
lemon/bits/solver_bits.h | 2 +-
lemon/bits/windows.cc | 4 +-
lemon/bucket_heap.h | 307 ++-
lemon/capacity_scaling.h | 990 ++++++++++++
lemon/cbc.cc | 12 +
lemon/cbc.h | 5 +-
lemon/circulation.h | 42 +-
lemon/clp.cc | 15 +-
lemon/clp.h | 5 +-
lemon/concepts/digraph.h | 347 ++--
lemon/concepts/graph.h | 670 ++++----
lemon/concepts/graph_components.h | 50 +-
lemon/concepts/heap.h | 176 +-
lemon/concepts/path.h | 85 +-
lemon/connectivity.h | 18 +-
lemon/core.h | 7 +-
lemon/cost_scaling.h | 1316 +++++++++++++++++
lemon/counter.h | 2 +-
lemon/cplex.cc | 37 +-
lemon/cplex.h | 1 +
lemon/cycle_canceling.h | 1170 +++++++++++++++
lemon/dfs.h | 161 +-
lemon/dheap.h | 352 ++++
lemon/dijkstra.h | 138 +-
lemon/dim2.h | 11 +-
lemon/dimacs.h | 14 +-
lemon/edge_set.h | 36 +-
lemon/euler.h | 12 +-
lemon/fib_heap.h | 243 +-
lemon/fractional_matching.h | 2139 +++++++++++++++++++++++++++
lemon/full_graph.h | 128 +-
lemon/glpk.cc | 38 +-
lemon/glpk.h | 15 +-
lemon/gomory_hu.h | 192 +-
lemon/graph_to_eps.h | 10 +-
lemon/grid_graph.h | 74 +-
lemon/hao_orlin.h | 37 +-
lemon/hartmann_orlin_mmc.h | 650 ++++++++
lemon/howard_mmc.h | 605 +++++++
lemon/hypercube_graph.h | 39 +-
lemon/karp_mmc.h | 590 +++++++
lemon/lgf_reader.h | 18 +-
lemon/lgf_writer.h | 16 +-
lemon/list_graph.h | 491 +++--
lemon/lp.h | 4 +-
lemon/lp_base.cc | 2 +-
lemon/lp_base.h | 116 +-
lemon/lp_skeleton.cc | 7 +-
lemon/lp_skeleton.h | 8 +-
lemon/maps.h | 1387 +++++++++++++++++-
lemon/matching.h | 935 +++++++----
lemon/math.h | 4 +-
lemon/min_cost_arborescence.h | 21 +-
lemon/network_simplex.h | 504 ++++--
lemon/pairing_heap.h | 474 ++++++
lemon/path.h | 8 +-
lemon/planarity.h | 2754 ++++++++++++++++++++++++++++++++++++
lemon/preflow.h | 42 +-
lemon/quad_heap.h | 343 ++++
lemon/radix_heap.h | 363 ++--
lemon/smart_graph.h | 346 ++--
lemon/soplex.cc | 17 +-
lemon/soplex.h | 3 +-
lemon/static_graph.h | 476 ++++++
lemon/suurballe.h | 474 ++++-
lemon/time_measure.h | 2 +-
lemon/unionfind.h | 4 +-
scripts/Makefile.am | 7 +
scripts/bib2dox.py | 816 ++++++++++
scripts/bootstrap.sh | 157 ++
scripts/chg-len.py | 14 +
scripts/mk-release.sh | 14 +
scripts/unify-sources.sh | 14 +
scripts/valgrind-wrapper.sh | 22 +
test/CMakeLists.txt | 4 +
test/Makefile.am | 12 +
test/adaptors_test.cc | 87 +-
test/bellman_ford_test.cc | 289 +++
test/bfs_test.cc | 12 +-
test/circulation_test.cc | 11 +-
test/connectivity_test.cc | 38 +-
test/dfs_test.cc | 8 +-
test/digraph_test.cc | 134 +-
test/dijkstra_test.cc | 10 +-
test/edge_set_test.cc | 2 +-
test/euler_test.cc | 12 +-
test/fractional_matching_test.cc | 527 ++++++
test/gomory_hu_test.cc | 26 +-
test/graph_test.cc | 30 +-
test/hao_orlin_test.cc | 18 +-
test/heap_test.cc | 106 +-
test/maps_test.cc | 628 ++++++++-
test/matching_test.cc | 62 +-
test/min_cost_arborescence_test.cc | 8 +-
test/min_cost_flow_test.cc | 412 +++--
test/min_mean_cycle_test.cc | 216 ++
test/planarity_test.cc | 262 +++
test/preflow_test.cc | 9 +-
test/suurballe_test.cc | 52 +-
test/test_tools.h | 16 +-
tools/dimacs-solver.cc | 31 +-
tools/lemon-0.x-to-1.x.sh | 9 +-
132 files changed, 23586 insertions(+), 3588 deletions(-)
diffs (truncated from 36123 to 300 lines):
diff --git a/.hgignore b/.hgignore
--- a/.hgignore
+++ b/.hgignore
@@ -22,6 +22,7 @@
lemon/libemon.la
lemon/stamp-h2
doc/Doxyfile
+doc/references.dox
cmake/version.cmake
.dirstamp
.libs/*
diff --git a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -114,6 +114,8 @@
CHECK_TYPE_SIZE("long long" LONG_LONG)
SET(LEMON_HAVE_LONG_LONG ${HAVE_LONG_LONG})
+INCLUDE(FindPythonInterp)
+
ENABLE_TESTING()
IF(${CMAKE_BUILD_TYPE} STREQUAL "Maintainer")
diff --git a/INSTALL b/INSTALL
--- a/INSTALL
+++ b/INSTALL
@@ -173,3 +173,25 @@
--without-coin
Disable COIN-OR support.
+
+
+Makefile Variables
+==================
+
+Some Makefile variables are reserved by the GNU Coding Standards for
+the use of the "user" - the person building the package. For instance,
+CXX and CXXFLAGS are such variables, and have the same meaning as
+explained in the previous section. These variables can be set on the
+command line when invoking `make' like this:
+`make [VARIABLE=VALUE]...'
+
+WARNINGCXXFLAGS is a non-standard Makefile variable introduced by us
+to hold several compiler flags related to warnings. Its default value
+can be overridden when invoking `make'. For example to disable all
+warning flags use `make WARNINGCXXFLAGS='.
+
+In order to turn off a single flag from the default set of warning
+flags, you can use the CXXFLAGS variable, since this is passed after
+WARNINGCXXFLAGS. For example to turn off `-Wold-style-cast' (which is
+used by default when g++ is detected) you can use
+`make CXXFLAGS="-g -O2 -Wno-old-style-cast"'.
diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,7 +1,7 @@
LEMON code without an explicit copyright notice is covered by the following
copyright/license.
-Copyright (C) 2003-2009 Egervary Jeno Kombinatorikus Optimalizalasi
+Copyright (C) 2003-2010 Egervary Jeno Kombinatorikus Optimalizalasi
Kutatocsoport (Egervary Combinatorial Optimization Research Group,
EGRES).
diff --git a/Makefile.am b/Makefile.am
--- a/Makefile.am
+++ b/Makefile.am
@@ -44,6 +44,7 @@
include test/Makefile.am
include doc/Makefile.am
include tools/Makefile.am
+include scripts/Makefile.am
DIST_SUBDIRS = demo
diff --git a/NEWS b/NEWS
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,83 @@
+2010-03-19 Version 1.2 released
+
+ This is major feature release
+
+ * New algorithms
+ * Bellman-Ford algorithm (#51)
+ * Minimum mean cycle algorithms (#179)
+ * Karp, Hartman-Orlin and Howard algorithms
+ * New minimum cost flow algorithms (#180)
+ * Cost Scaling algorithms
+ * Capacity Scaling algorithm
+ * Cycle-Canceling algorithms
+ * Planarity related algorithms (#62)
+ * Planarity checking algorithm
+ * Planar embedding algorithm
+ * Schnyder's planar drawing algorithm
+ * Coloring planar graphs with five or six colors
+ * Fractional matching algorithms (#314)
+ * New data structures
+ * StaticDigraph structure (#68)
+ * Several new priority queue structures (#50, #301)
+ * Fibonacci, Radix, Bucket, Pairing, Binomial
+ D-ary and fourary heaps (#301)
+ * Iterable map structures (#73)
+ * Other new tools and functionality
+ * Map utility functions (#320)
+ * Reserve functions are added to ListGraph and SmartGraph (#311)
+ * A resize() function is added to HypercubeGraph (#311)
+ * A count() function is added to CrossRefMap (#302)
+ * Support for multiple targets in Suurballe using fullInit() (#181)
+ * Traits class and named parameters for Suurballe (#323)
+ * Separate reset() and resetParams() functions in NetworkSimplex
+ to handle graph changes (#327)
+ * tolerance() functions are added to HaoOrlin (#306)
+ * Implementation improvements
+ * Improvements in weighted matching algorithms (#314)
+ * Jumpstart initialization
+ * ArcIt iteration is based on out-arc lists instead of in-arc lists
+ in ListDigraph (#311)
+ * Faster add row operation in CbcMip (#203)
+ * Better implementation for split() in ListDigraph (#311)
+ * ArgParser can also throw exception instead of exit(1) (#332)
+ * Miscellaneous
+ * A simple interactive bootstrap script
+ * Doc improvements (#62,#180,#299,#302,#303,#304,#307,#311,#331,#315,
+ #316,#319)
+ * BibTeX references in the doc (#184)
+ * Optionally use valgrind when running tests
+ * Also check ReferenceMapTag in concept checks (#312)
+ * dimacs-solver uses long long type by default.
+ * Several bugfixes (compared to release 1.1):
+ #295: Suppress MSVC warnings using pragmas
+ ----: Various CMAKE related improvements
+ * Remove duplications from doc/CMakeLists.txt
+ * Rename documentation install folder from 'docs' to 'html'
+ * Add tools/CMakeLists.txt to the tarball
+ * Generate and install LEMONConfig.cmake
+ * Change the label of the html project in Visual Studio
+ * Fix the check for the 'long long' type
+ * Put the version string into config.h
+ * Minor CMake improvements
+ * Set the version to 'hg-tip' if everything fails
+ #311: Add missing 'explicit' keywords
+ #302: Fix the implementation and doc of CrossRefMap
+ #308: Remove duplicate list_graph.h entry from source list
+ #307: Bugfix in Preflow and Circulation
+ #305: Bugfix and extension in the rename script
+ #312: Also check ReferenceMapTag in concept checks
+ #250: Bugfix in pathSource() and pathTarget()
+ #321: Use pathCopy(from,to) instead of copyPath(to,from)
+ #322: Distribure LEMONConfig.cmake.in
+ #330: Bug fix in map_extender.h
+ #336: Fix the date field comment of graphToEps() output
+ #323: Bug fix in Suurballe
+ #335: Fix clear() function in ExtendFindEnum
+ #337: Use void* as the LPX object pointer
+ #317: Fix (and improve) error message in mip_test.cc
+ Remove unnecessary OsiCbc dependency
+ #356: Allow multiple executions of weighted matching algorithms (#356)
+
2009-05-13 Version 1.1 released
This is the second stable release of the 1.x series. It
@@ -72,7 +152,7 @@
----: Minor clarification in the LICENSE file
----: Add missing unistd.h include to time_measure.h
#204: Compilation bug fixed in graph_to_eps.h with VS2005
- #214,#215: windows.h should never be included by lemon headers
+ #214,#215: windows.h should never be included by LEMON headers
#230: Build systems check the availability of 'long long' type
#229: Default implementation of Tolerance<> is used for integer types
#211,#212: Various fixes for compiling on AIX
@@ -94,51 +174,51 @@
2008-10-13 Version 1.0 released
- This is the first stable release of LEMON. Compared to the 0.x
- release series, it features a considerably smaller but more
- matured set of tools. The API has also completely revised and
- changed in several places.
+ This is the first stable release of LEMON. Compared to the 0.x
+ release series, it features a considerably smaller but more
+ matured set of tools. The API has also completely revised and
+ changed in several places.
- * The major name changes compared to the 0.x series (see the
+ * The major name changes compared to the 0.x series (see the
Migration Guide in the doc for more details)
* Graph -> Digraph, UGraph -> Graph
* Edge -> Arc, UEdge -> Edge
- * source(UEdge)/target(UEdge) -> u(Edge)/v(Edge)
- * Other improvements
- * Better documentation
- * Reviewed and cleaned up codebase
- * CMake based build system (along with the autotools based one)
- * Contents of the library (ported from 0.x)
- * Algorithms
- * breadth-first search (bfs.h)
- * depth-first search (dfs.h)
- * Dijkstra's algorithm (dijkstra.h)
- * Kruskal's algorithm (kruskal.h)
- * Data structures
- * graph data structures (list_graph.h, smart_graph.h)
- * path data structures (path.h)
- * binary heap data structure (bin_heap.h)
- * union-find data structures (unionfind.h)
- * miscellaneous property maps (maps.h)
- * two dimensional vector and bounding box (dim2.h)
+ * source(UEdge)/target(UEdge) -> u(Edge)/v(Edge)
+ * Other improvements
+ * Better documentation
+ * Reviewed and cleaned up codebase
+ * CMake based build system (along with the autotools based one)
+ * Contents of the library (ported from 0.x)
+ * Algorithms
+ * breadth-first search (bfs.h)
+ * depth-first search (dfs.h)
+ * Dijkstra's algorithm (dijkstra.h)
+ * Kruskal's algorithm (kruskal.h)
+ * Data structures
+ * graph data structures (list_graph.h, smart_graph.h)
+ * path data structures (path.h)
+ * binary heap data structure (bin_heap.h)
+ * union-find data structures (unionfind.h)
+ * miscellaneous property maps (maps.h)
+ * two dimensional vector and bounding box (dim2.h)
* Concepts
- * graph structure concepts (concepts/digraph.h, concepts/graph.h,
+ * graph structure concepts (concepts/digraph.h, concepts/graph.h,
concepts/graph_components.h)
- * concepts for other structures (concepts/heap.h, concepts/maps.h,
- concepts/path.h)
- * Tools
- * Mersenne twister random number generator (random.h)
- * tools for measuring cpu and wall clock time (time_measure.h)
- * tools for counting steps and events (counter.h)
- * tool for parsing command line arguments (arg_parser.h)
- * tool for visualizing graphs (graph_to_eps.h)
- * tools for reading and writing data in LEMON Graph Format
+ * concepts for other structures (concepts/heap.h, concepts/maps.h,
+ concepts/path.h)
+ * Tools
+ * Mersenne twister random number generator (random.h)
+ * tools for measuring cpu and wall clock time (time_measure.h)
+ * tools for counting steps and events (counter.h)
+ * tool for parsing command line arguments (arg_parser.h)
+ * tool for visualizing graphs (graph_to_eps.h)
+ * tools for reading and writing data in LEMON Graph Format
(lgf_reader.h, lgf_writer.h)
* tools to handle the anomalies of calculations with
- floating point numbers (tolerance.h)
+ floating point numbers (tolerance.h)
* tools to manage RGB colors (color.h)
- * Infrastructure
- * extended assertion handling (assert.h)
- * exception classes and error handling (error.h)
- * concept checking (concept_check.h)
- * commonly used mathematical constants (math.h)
+ * Infrastructure
+ * extended assertion handling (assert.h)
+ * exception classes and error handling (error.h)
+ * concept checking (concept_check.h)
+ * commonly used mathematical constants (math.h)
diff --git a/README b/README
--- a/README
+++ b/README
@@ -17,6 +17,10 @@
Copying, distribution and modification conditions and terms.
+NEWS
+
+ News and version history.
+
INSTALL
General building and installation instructions.
@@ -33,6 +37,10 @@
Some example programs to make you easier to get familiar with LEMON.
+scripts/
+
+ Scripts that make it easier to develop LEMON.
+
test/
Programs to check the integrity and correctness of LEMON.
diff --git a/configure.ac b/configure.ac
--- a/configure.ac
+++ b/configure.ac
@@ -41,6 +41,7 @@
AC_PROG_LIBTOOL
AC_CHECK_PROG([doxygen_found],[doxygen],[yes],[no])
+AC_CHECK_PROG([python_found],[python],[yes],[no])
AC_CHECK_PROG([gs_found],[gs],[yes],[no])
dnl Detect Intel compiler.
@@ -82,6 +83,21 @@
fi
More information about the Lemon-commits
mailing list