Major improvements in NetworkSimplex.
Main changes:
- Use -potenital[] instead of potential[] to conform to the usual
terminology.
- Use function parameter instead of #define commands to select pivot rule.
- Use much faster implementation for the candidate list pivot rule.
It is about 5-20 times faster now.
- Add a new pivot rule called "Limited Search" that is a modified
version of "Block Search". It is about 25 percent faster on rather
sparse graphs.
- By default "Limited Search" is used for sparse graphs and
"Block Search" is used otherwise. This combined method is the most
efficient on every input class.
- Change the name of private members to start with "_".
- Change the name of function parameters not to start with "_".
- Remove unnecessary documentation for private members.
- Many doc improvements.
5 LOGFILE=${ROOT}/logs/${REV}.log
7 function im-not-the-next() {
10 if [ $i -lt $REV ]; then
18 function make-dir () {
24 function makecheck () {
25 if [ `which $(echo $CXX|cut -f1 -d' ' )` ]; then
28 time ../trunk/configure $* &&
33 echo '***************************************************************'
34 echo " COMPILER $CXX CANNOT BE FOUND"
35 echo '***************************************************************'
40 function check-compilers() {
44 ODIR=gcc-3.3 CXX=g++-3.3 CXXFLAGS='-W -Wall -Werror' makecheck --enable-demo --enable-benchmark --with-soplex=/usr/local/soplex &&
45 ODIR=gcc-3.4 CXX=g++-3.4 CXXFLAGS='-W -Wall -Werror' makecheck --enable-demo --enable-benchmark --with-soplex=/usr/local/soplex &&
46 ODIR=gcc-4.0 CXX=g++-4.0 CXXFLAGS='-W -Wall -Werror' makecheck --enable-demo --enable-benchmark --with-soplex=/usr/local/soplex &&
47 ODIR=gcc-4.1 CXX=g++-4.1 CXXFLAGS='-W -Wall -Werror' makecheck --enable-demo --enable-benchmark --with-soplex=/usr/local/soplex &&
48 # # ODIR=icc-8.0 CXX=icpc-8.0 CXXFLAGS='-Werror' makecheck --enable-demo --enable-benchmark &&
49 # ODIR=icc-9.0 CXX='icpc-9.0' CXXFLAGS='-Werror' makecheck --enable-demo --enable-benchmark &&
50 # ODIR=mingw CXX='g++' makecheck --with-msw --target=i586-mingw32msvc --host=i586-mingw32msvc --build=i386-linux --without-glpk &&
52 echo '**********************************************************************' &&
53 echo ' REPOSITORY SEEMS OK' &&
54 echo '**********************************************************************' &&
60 echo ' commit-checker --init'
61 echo ' commit-checker revision'
63 elif [ $1 = '--init' ]; then
68 svn co https://lemon.cs.elte.hu/svn/hugo/trunk
72 touch ${ROOT}/queue/$REV
74 while im-not-the-next; do
80 svn up -r$REV trunk >${LOGFILE} 2>&1
82 AUTHOR=`svn info trunk|grep 'Last Changed Author:'|cut -d ' ' -f 4`
83 EMAIL=`awk '$1=="'${AUTHOR}'" {print $2}' <${ROOT}/e-mails`
87 *************************************************************
88 Check revision '${REV}' of '${AUTHOR}' ('${EMAIL}')
89 *************************************************************
93 if check-compilers >>${LOGFILE} 2>&1
97 echo 'Dear '${AUTHOR}',
98 Your svn commit -r'${REV}' made the repository broken, or at least
99 the compiler emits warnings during the build process.
100 The compilation log is attached.
101 Please fix the problem as soon as possible.
104 LEMON Commit Checking Service
106 mail -a ${LOGFILE} -s '[LEMON-SVN] WARNING: Revision '${REV}' is broken' \
107 ${EMAIL} alpar@cs.elte.hu
109 echo 'Commit -r'${REV}' made the repository broken, or at least
110 the compiler emits warnings during the build process.
111 Do not update until this bug is fixed, unless you really need it.
114 LEMON Commit Checking Service
116 mail -s 'WARNING: Revision '${REV}' is broken' \
117 ${EMAIL} lemon-commits@lemon.cs.elte.hu
121 rm ${ROOT}/queue/$REV