Compare commits

..

No commits in common. "rawhide" and "f23" have entirely different histories.
rawhide ... f23

17 changed files with 1239 additions and 6096 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
/nauty*.tar.gz /nauty26r5.tar.gz

View File

@ -1,12 +0,0 @@
# nauty
[Nauty and Traces](https://pallini.di.uniroma1.it/) are programs for computing
automorphism groups of graphs and digraphs. (At present, Traces does not
accept digraphs.) They can also produce a canonical label. They are written
in a portable subset of C, and run on a considerable number of different
systems.
There is a small suite of programs called gtools included in the package. For
example, geng can generate non-isomorphic graphs very quickly. There are also
generators for bipartite graphs, digraphs, and multigraphs, and programs for
manipulating files of graphs in a compact format.

View File

@ -2,17 +2,17 @@ Description: upstream autotoolization
Attempt to autotoolize nauty source. Attempt to autotoolize nauty source.
Origin: debian Origin: debian
Author: Jerome Benoit <calculus@rezozer.net> Author: Jerome Benoit <calculus@rezozer.net>
Last-Update: 2017-11-24 Last-Update: 2016-03-19
--- a/configure.ac --- a/configure.ac
+++ b/configure.ac +++ b/configure.ac
@@ -1,6 +1,22 @@ @@ -1,5 +1,22 @@
# Process this file with autoconf to produce a configure script. dnl Process this file with autoconf to produce a configure script.
-AC_INIT([nauty],[2.8.6]) -AC_INIT(nauty-h.in)
+AC_INIT([nauty],[2.8.6],[bdm@cs.anu.edu.au],[nauty],[https://pallini.di.uniroma1.it/]) +AC_INIT([nauty],[@INJECTVER@],[bdm@cs.anu.edu.au],[nauty],[http://pallini.di.uniroma1.it/])
AC_CONFIG_SRCDIR([nauty-h.in])
+AC_CONFIG_MACRO_DIR([m4]) +AC_CONFIG_MACRO_DIR([m4])
+AC_CONFIG_AUX_DIR([autotool]) +AC_CONFIG_AUX_DIR([autotool])
+AC_CONFIG_SRCDIR([dreadnaut.c])
+AC_CONFIG_HEADER([nauty/nauty_config.h]) +AC_CONFIG_HEADER([nauty/nauty_config.h])
+AM_INIT_AUTOMAKE([foreign]) +AM_INIT_AUTOMAKE([foreign])
+AM_MAINTAINER_MODE +AM_MAINTAINER_MODE
@ -28,11 +28,20 @@ Last-Update: 2017-11-24
+AC_SUBST(LIBNAUTY_VERSION_MICRO) +AC_SUBST(LIBNAUTY_VERSION_MICRO)
+AC_SUBST(LIBNAUTY_LT_VERSION) +AC_SUBST(LIBNAUTY_LT_VERSION)
# ====================================================================== AC_DEFUN([AX_TLS], [
# First we define some functions AC_MSG_CHECKING(for thread local storage (TLS) class)
@@ -128,30 +144,37 @@ @@ -48,7 +65,7 @@
is_cygwin=0 ;;
esac dnl CVT_YESNO([YES-NO VARIABLE],[0-1 VARIABLE])
dnl Make a 0-1 output variable from a yes/no shell variable
-AC_DEFUN(CVT_YESNO,[if test x"$$1" = x"yes"; then
+AC_DEFUN([CVT_YESNO],[if test x"$$1" = x"yes"; then
$2=1
else
$2=0
@@ -58,82 +75,89 @@
dnl Checks for system features
AC_CANONICAL_HOST
-dnl Checks for C compiler and sets CFLAGS if not set by user -dnl Checks for C compiler and sets CFLAGS if not set by user
-user_cflags="$CFLAGS" -user_cflags="$CFLAGS"
@ -51,47 +60,150 @@ Last-Update: 2017-11-24
MORECFLAGS="" MORECFLAGS=""
dnl we need AC_SYS_LARGEFILE and AC_FUNC_FSEEKO dnl we need AC_SYS_LARGEFILE and AC_FUNC_FSEEKO
AC_SYS_LARGEFILE AC_SYS_LARGEFILE
AS_IF([test "x$ac_cv_sys_file_offset_bits" = xno],[ac_cv_sys_file_offset_bits=0]) AS_IF([test x"$ac_cv_sys_file_offset_bits" = xno],[ac_cv_sys_file_offset_bits=0],[])
AC_SUBST(ac_cv_sys_file_offset_bits) AC_SUBST(ac_cv_sys_file_offset_bits)
-AS_IF([test "x$user_cflags" = x || test "x$user_cflags" = x-m32], -if test x"$user_cflags" = x"" -o x"$user_cflags" = x-m32 ; then
-[ - if test "$CC" = "icc" ; then
- AS_IF([test "$CC" = "icc"], - AC_TRY_CFLAGS([-O3],[CFLAGS="$CFLAGS -O3"]);
- [AC_TRY_CFLAGS([-O3],[CFLAGS="$CFLAGS -O3"]); - if test x"$ac_cv_try_cflags_ok" = x"no"; then
- AS_IF([test "x$ac_cv_try_cflags_ok" = xno], - AC_TRY_CFLAGS([-O2],[CFLAGS="$CFLAGS -O2"],[CFLAGS="$CFLAGS -O"]);
- [AC_TRY_CFLAGS([-O2],[CFLAGS="$CFLAGS -O2"],[CFLAGS="$CFLAGS -O"])])], - fi
- [AC_TRY_CFLAGS([-O4 -Werror],[CFLAGS="$CFLAGS -O4"]); - else
- AS_IF([test "x$ac_cv_try_cflags_ok" = xno], - AC_TRY_CFLAGS([-O4 -Werror],[CFLAGS="$CFLAGS -O4"]);
- [AC_TRY_CFLAGS([-O3],[CFLAGS="$CFLAGS -O3"]) - if test x"$ac_cv_try_cflags_ok" = x"no"; then
- AS_IF([test "x$ac_cv_try_cflags_ok" = xno], - AC_TRY_CFLAGS([-O3],[CFLAGS="$CFLAGS -O3"]);
- [AC_TRY_CFLAGS([-O2],[CFLAGS="$CFLAGS -O2"],[CFLAGS="$CFLAGS -O"])]) - if test x"$ac_cv_try_cflags_ok" = x"no"; then
- ]) - AC_TRY_CFLAGS([-O2],[CFLAGS="$CFLAGS -O2"],[CFLAGS="$CFLAGS -O"]);
- ]) - fi
-]) - fi
+dnl AS_IF([test "x$user_cflags" = x || test "x$user_cflags" = x-m32], - fi
+dnl [ -
+dnl AS_IF([test "$CC" = "icc"], - if test "$CC" = "gcc" ; then
+dnl [AC_TRY_CFLAGS([-O3],[CFLAGS="$CFLAGS -O3"]); - gccver=`gcc --version 2>/dev/null || echo 0.0.0`
+dnl AS_IF([test "x$ac_cv_try_cflags_ok" = xno], - else
+dnl [AC_TRY_CFLAGS([-O2],[CFLAGS="$CFLAGS -O2"],[CFLAGS="$CFLAGS -O"])])], - gccver=0.0.0
+dnl [AC_TRY_CFLAGS([-O4 -Werror],[CFLAGS="$CFLAGS -O4"]); - fi
+dnl AS_IF([test "x$ac_cv_try_cflags_ok" = xno], -
+dnl [AC_TRY_CFLAGS([-O3],[CFLAGS="$CFLAGS -O3"]) - case "$host" in
+dnl AS_IF([test "x$ac_cv_try_cflags_ok" = xno], - *i686-apple-darwin*)
+dnl [AC_TRY_CFLAGS([-O2],[CFLAGS="$CFLAGS -O2"],[CFLAGS="$CFLAGS -O"])]) - AC_TRY_CFLAGS([-fast],[CFLAGS="$MORECFLAGS -fast"]);;
+dnl ]) - *pentium*solaris*)
+dnl ]) - ;;
+dnl ]) - *pentium4*)
- AC_TRY_CFLAGS([-march=pentium4],[CFLAGS="$CFLAGS -march=pentium4"]);;
case "$CC" in - *pentium3*|*i686*|*athlon*)
gcc*) - AC_TRY_CFLAGS([-march=i686],[CFLAGS="$CFLAGS -march=i686"]);;
@@ -471,7 +494,26 @@ - *pentium2*|*i586*)
AS_IF([test "$gunzip_prog" = "gunzip"],[have_gunzip=1],[have_gunzip=0]) - AC_TRY_CFLAGS([-march=i586],[CFLAGS="$CFLAGS -march=i586"]);;
AC_SUBST(have_gunzip) - *powerpc*)
- machtype=`/usr/bin/machine 2>/dev/null || echo unknown`
- case "$machtype" in
- ppc740?)
- AC_TRY_CFLAGS([-mcpu=7400],[CFLAGS="$CFLAGS -mcpu=7400"])
- AC_TRY_CFLAGS([-mtune=7400],[CFLAGS="$CFLAGS -mtune=7400"]);;
- ppc745?)
- AC_TRY_CFLAGS([-mcpu=7450],[CFLAGS="$CFLAGS -mcpu=7450"])
- AC_TRY_CFLAGS([-mtune=7450],[CFLAGS="$CFLAGS -mtune=7450"])
- case "$gccver" in
- *\ 4.[[0-9]].[[0-9]]\ *)
- AC_TRY_CFLAGS([$CFLAGS -fast],
- [MORECFLAGS="$MORECFLAGS -fast"]);;
- esac;;
- ppc970)
- AC_TRY_CFLAGS([-mcpu=g5],[CFLAGS="$CFLAGS -mcpu=g5"])
- AC_TRY_CFLAGS([-mtune=g5],[CFLAGS="$CFLAGS -mtune=g5"])
- AC_TRY_CFLAGS([-fast],[CFLAGS="$MORECFLAGS -fast"]);;
- *)
- AC_TRY_CFLAGS([-mpowerpc],[CFLAGS="$CFLAGS -mpowerpc"]);;
- esac;;
- *osf*)
- AC_TRY_CFLAGS([-fast],[CFLAGS="$CFLAGS -fast"]);;
- *sparcv8*|*sparcv9*)
- AC_TRY_CFLAGS([-msupersparc],[CFLAGS="$CFLAGS -msupersparc"])
- if test x"$ac_cv_try_cflags_ok" = x"no"; then
- AC_TRY_CFLAGS([-cg92],[CFLAGS="$CFLAGS -cg92"])
- if test x"$ac_cv_try_cflags_ok" = x"no"; then
- AC_TRY_CFLAGS([-xcg92],[CFLAGS="$CFLAGS -xcg92"])
- fi
- fi;;
- esac
-fi
+dnl if test x"$user_cflags" = x"" -o x"$user_cflags" = x-m32 ; then
+dnl if test "$CC" = "icc" ; then
+dnl AC_TRY_CFLAGS([-O3],[CFLAGS="$CFLAGS -O3"]);
+dnl if test x"$ac_cv_try_cflags_ok" = x"no"; then
+dnl AC_TRY_CFLAGS([-O2],[CFLAGS="$CFLAGS -O2"],[CFLAGS="$CFLAGS -O"]);
+dnl fi
+dnl else
+dnl AC_TRY_CFLAGS([-O4 -Werror],[CFLAGS="$CFLAGS -O4"]);
+dnl if test x"$ac_cv_try_cflags_ok" = x"no"; then
+dnl AC_TRY_CFLAGS([-O3],[CFLAGS="$CFLAGS -O3"]);
+dnl if test x"$ac_cv_try_cflags_ok" = x"no"; then
+dnl AC_TRY_CFLAGS([-O2],[CFLAGS="$CFLAGS -O2"],[CFLAGS="$CFLAGS -O"]);
+dnl fi
+dnl fi
+dnl fi
+dnl
+dnl if test "$CC" = "gcc" ; then
+dnl gccver=`gcc --version 2>/dev/null || echo 0.0.0`
+dnl else
+dnl gccver=0.0.0
+dnl fi
+dnl
+dnl case "$host" in
+dnl *i686-apple-darwin*)
+dnl AC_TRY_CFLAGS([-fast],[CFLAGS="$MORECFLAGS -fast"]);;
+dnl *pentium*solaris*)
+dnl ;;
+dnl *pentium4*)
+dnl AC_TRY_CFLAGS([-march=pentium4],[CFLAGS="$CFLAGS -march=pentium4"]);;
+dnl *pentium3*|*i686*|*athlon*)
+dnl AC_TRY_CFLAGS([-march=i686],[CFLAGS="$CFLAGS -march=i686"]);;
+dnl *pentium2*|*i586*)
+dnl AC_TRY_CFLAGS([-march=i586],[CFLAGS="$CFLAGS -march=i586"]);;
+dnl *powerpc*)
+dnl machtype=`/usr/bin/machine 2>/dev/null || echo unknown`
+dnl case "$machtype" in
+dnl ppc740?)
+dnl AC_TRY_CFLAGS([-mcpu=7400],[CFLAGS="$CFLAGS -mcpu=7400"])
+dnl AC_TRY_CFLAGS([-mtune=7400],[CFLAGS="$CFLAGS -mtune=7400"]);;
+dnl ppc745?)
+dnl AC_TRY_CFLAGS([-mcpu=7450],[CFLAGS="$CFLAGS -mcpu=7450"])
+dnl AC_TRY_CFLAGS([-mtune=7450],[CFLAGS="$CFLAGS -mtune=7450"])
+dnl case "$gccver" in
+dnl *\ 4.[[0-9]].[[0-9]]\ *)
+dnl AC_TRY_CFLAGS([$CFLAGS -fast],
+dnl [MORECFLAGS="$MORECFLAGS -fast"]);;
+dnl esac;;
+dnl ppc970)
+dnl AC_TRY_CFLAGS([-mcpu=g5],[CFLAGS="$CFLAGS -mcpu=g5"])
+dnl AC_TRY_CFLAGS([-mtune=g5],[CFLAGS="$CFLAGS -mtune=g5"])
+dnl AC_TRY_CFLAGS([-fast],[CFLAGS="$MORECFLAGS -fast"]);;
+dnl *)
+dnl AC_TRY_CFLAGS([-mpowerpc],[CFLAGS="$CFLAGS -mpowerpc"]);;
+dnl esac;;
+dnl *osf*)
+dnl AC_TRY_CFLAGS([-fast],[CFLAGS="$CFLAGS -fast"]);;
+dnl *sparcv8*|*sparcv9*)
+dnl AC_TRY_CFLAGS([-msupersparc],[CFLAGS="$CFLAGS -msupersparc"])
+dnl if test x"$ac_cv_try_cflags_ok" = x"no"; then
+dnl AC_TRY_CFLAGS([-cg92],[CFLAGS="$CFLAGS -cg92"])
+dnl if test x"$ac_cv_try_cflags_ok" = x"no"; then
+dnl AC_TRY_CFLAGS([-xcg92],[CFLAGS="$CFLAGS -xcg92"])
+dnl fi
+dnl fi;;
+dnl esac
+dnl fi
-AC_CONFIG_FILES([makefile:makefile.in nauty.h:nauty-h.in echo CFLAGS=$CFLAGS
- naututil.h:naututil-h.in gtools.h:gtools-h.in echo MORECFLAGS=$MORECFLAGS
- nauty.pc:nauty-pc.in]) @@ -431,6 +455,26 @@
edit_msg="++++++ This file is automatically generated, don't edit it by hand! ++++++"
AC_SUBST(edit_msg)
-AC_OUTPUT(makefile:makefile.in nauty.h:nauty-h.in
- naututil.h:naututil-h.in gtools.h:gtools-h.in)
+dnl Checks for linker script support +dnl Checks for linker script support
+gl_LD_VERSION_SCRIPT +gl_LD_VERSION_SCRIPT
+ +
@ -101,23 +213,23 @@ Last-Update: 2017-11-24
+## math library +## math library
+LT_LIB_M +LT_LIB_M
+## zlib Library (zlib) +## zlib Library (zlib)
+AM_PATH_ZLIB(1.2.8,[],[AC_MSG_WARN([could not find required version of zlib])]) +AM_PATH_ZLIB(1.2.7,[],[AC_MSG_WARN([could not find required version of zlib])])
+## GNU MultiPrecision arithmetic library (GMP) +## GNU MultiPrecision arithmetic library (GMP)
+AM_PATH_GMP(6.1.2,[],[AC_MSG_WARN([could not find required version of GMP])]) +AM_PATH_GMP(5.1.2,[],[AC_MSG_WARN([could not find required version of GMP])])
+ +
+AC_CONFIG_FILES([ +AC_CONFIG_FILES([
+ nauty.pc:nauty-pc.in + nauty.pc
+ Makefile + Makefile
+ nauty/Makefile + nauty/Makefile
+ nauty.h:nauty-h.in + nauty.h:nauty-h.in
+ naututil.h:naututil-h.in + naututil.h:naututil-h.in
+ gtools.h:gtools-h.in + gtools.h:gtools-h.in
+ ]) + ])
+
AC_OUTPUT +AC_OUTPUT
--- /dev/null --- /dev/null
+++ b/Makefile.am +++ b/Makefile.am
@@ -0,0 +1,565 @@ @@ -0,0 +1,483 @@
+AUTOMAKE_OPTIONS = foreign +AUTOMAKE_OPTIONS = foreign
+ACLOCAL_AMFLAGS = -I m4 +ACLOCAL_AMFLAGS = -I m4
+ +
@ -130,10 +242,6 @@ Last-Update: 2017-11-24
+ nausparse.h \ + nausparse.h \
+ naututil.h \ + naututil.h \
+ naugroup.h \ + naugroup.h \
+ naugstrings.h \
+ nautaux.h \
+ nautycliquer.h \
+ planarity.h \
+ schreier.h \ + schreier.h \
+ traces.h \ + traces.h \
+ gtools.h \ + gtools.h \
@ -146,10 +254,7 @@ Last-Update: 2017-11-24
+ dreadnaut \ + dreadnaut \
+ \ + \
+ addedgeg \ + addedgeg \
+ addptg \
+ amtog \ + amtog \
+ ancestorg \
+ assembleg \
+ biplabg \ + biplabg \
+ catg \ + catg \
+ complg \ + complg \
@ -162,12 +267,9 @@ Last-Update: 2017-11-24
+ directg \ + directg \
+ dretodot \ + dretodot \
+ dretog \ + dretog \
+ edgetransg \
+ genbg \ + genbg \
+ genbgL \ + genbgL \
+ geng \ + geng \
+ gengL \
+ genposetg \
+ genquarticg \ + genquarticg \
+ genrang \ + genrang \
+ genspecialg \ + genspecialg \
@ -178,23 +280,19 @@ Last-Update: 2017-11-24
+ linegraphg \ + linegraphg \
+ listg \ + listg \
+ multig \ + multig \
+ nbrhoodg \
+ newedgeg \ + newedgeg \
+ NRswitchg \ + NRswitchg \
+ pickg \ + pickg \
+ planarg \ + planarg \
+ productg \
+ ranlabg \ + ranlabg \
+ shortg \ + shortg \
+ showg \ + showg \
+ subdivideg \ + subdivideg \
+ twohamg \ + twohamg \
+ underlyingg \
+ vcolg \ + vcolg \
+ watercluster2 \ + watercluster2 \
+ \ + \
+ bliss2dre \ + blisstog \
+ dimacs2g \
+ checks6 \ + checks6 \
+ sumlines + sumlines
+ +
@ -202,10 +300,7 @@ Last-Update: 2017-11-24
+ dreadnaut.1 \ + dreadnaut.1 \
+ \ + \
+ addedgeg.1 \ + addedgeg.1 \
+ addptg.1 \
+ amtog.1 \ + amtog.1 \
+ ancestorg.1 \
+ assembleg.1 \
+ biplabg.1 \ + biplabg.1 \
+ catg.1 \ + catg.1 \
+ complg.1 \ + complg.1 \
@ -218,12 +313,9 @@ Last-Update: 2017-11-24
+ directg.1 \ + directg.1 \
+ dretodot.1 \ + dretodot.1 \
+ dretog.1 \ + dretog.1 \
+ edgetransg.1 \
+ genbg.1 \ + genbg.1 \
+ genbgL.1 \ + genbgL.1 \
+ geng.1 \ + geng.1 \
+ gengL.1 \
+ genposetg.1 \
+ genquarticg.1 \ + genquarticg.1 \
+ genrang.1 \ + genrang.1 \
+ genspecialg.1 \ + genspecialg.1 \
@ -234,23 +326,19 @@ Last-Update: 2017-11-24
+ linegraphg.1 \ + linegraphg.1 \
+ listg.1 \ + listg.1 \
+ multig.1 \ + multig.1 \
+ nbrhoodg.1 \
+ newedgeg.1 \ + newedgeg.1 \
+ NRswitchg.1 \ + NRswitchg.1 \
+ pickg.1 \ + pickg.1 \
+ planarg.1 \ + planarg.1 \
+ productg.1 \
+ ranlabg.1 \ + ranlabg.1 \
+ shortg.1 \ + shortg.1 \
+ showg.1 \ + showg.1 \
+ subdivideg.1 \ + subdivideg.1 \
+ twohamg.1 \ + twohamg.1 \
+ underlyingg.1 \
+ vcolg.1 \ + vcolg.1 \
+ watercluster2.1 \ + watercluster2.1 \
+ \ + \
+ bliss2dre.1 \ + blisstog.1 \
+ dimacs2g.1 \
+ checks6.1 \ + checks6.1 \
+ sumlines.1 + sumlines.1
+ +
@ -274,9 +362,6 @@ Last-Update: 2017-11-24
+ dreadtestW1 \ + dreadtestW1 \
+ dreadtestL1 \ + dreadtestL1 \
+ dreadtest4K \ + dreadtest4K \
+ nautestS \
+ nautestW \
+ nautestL \
+ naucompare + naucompare
+ +
+TESTS = runalltests +TESTS = runalltests
@ -287,10 +372,8 @@ Last-Update: 2017-11-24
+LDADD = +LDADD =
+ +
+NAUTY_LDADD = $(top_builddir)/libnauty.la $(threadlib) +NAUTY_LDADD = $(top_builddir)/libnauty.la $(threadlib)
+NAUTYW0_LDADD = $(top_builddir)/libnautyW0.la $(threadlib)
+NAUTYW1_LDADD = $(top_builddir)/libnautyW1.la $(threadlib) +NAUTYW1_LDADD = $(top_builddir)/libnautyW1.la $(threadlib)
+NAUTYL1_LDADD = $(top_builddir)/libnautyL1.la $(threadlib) +NAUTYL1_LDADD = $(top_builddir)/libnautyL1.la $(threadlib)
+NAUTYS1_LDADD = $(top_builddir)/libnautyS1.la $(threadlib)
+ +
+AM_H2MFLAGS = \ +AM_H2MFLAGS = \
+ --manual="Nauty Manual" \ + --manual="Nauty Manual" \
@ -299,7 +382,7 @@ Last-Update: 2017-11-24
+ --no-info + --no-info
+ +
+%.1: % +%.1: %
+ LD_LIBRARY_PATH=$(top_builddir)/.libs $(HELP2MAN) \ + $(HELP2MAN) \
+ -s 1 \ + -s 1 \
+ $(AM_H2MFLAGS) \ + $(AM_H2MFLAGS) \
+ -I $(top_srcdir)/man/$*.h2m \ + -I $(top_srcdir)/man/$*.h2m \
@ -325,10 +408,7 @@ Last-Update: 2017-11-24
+## in section `Utilities' (15) of the `Nauty and Traces User's Guide' (version 2.6) +## in section `Utilities' (15) of the `Nauty and Traces User's Guide' (version 2.6)
+dreadnaut_DESCRIPTION = "command line interface to nauty graph isomorphism library" +dreadnaut_DESCRIPTION = "command line interface to nauty graph isomorphism library"
+addedgeg_DESCRIPTION = "add an edge in each possible way" +addedgeg_DESCRIPTION = "add an edge in each possible way"
+addptg_DESCRIPTION = "add additional vertices in various ways"
+amtog_DESCRIPTION = "read graphs in matrix format" +amtog_DESCRIPTION = "read graphs in matrix format"
+ancestorg_DESCRIPTION = "removes a specified number of final vertices"
+assembleg_DESCRIPTION = "assemble input graphs as components of output graphs"
+biplabg_DESCRIPTION = "label bipartite graphs so the colour classes are contiguous" +biplabg_DESCRIPTION = "label bipartite graphs so the colour classes are contiguous"
+catg_DESCRIPTION = "concatenate files of graphs" +catg_DESCRIPTION = "concatenate files of graphs"
+complg_DESCRIPTION = "complement graphs" +complg_DESCRIPTION = "complement graphs"
@ -341,12 +421,9 @@ Last-Update: 2017-11-24
+directg_DESCRIPTION = "generate small digraphs with given underlying graph" +directg_DESCRIPTION = "generate small digraphs with given underlying graph"
+dretodot_DESCRIPTION = "read graphs and initial coloring in dreadnaut format and write in dot format" +dretodot_DESCRIPTION = "read graphs and initial coloring in dreadnaut format and write in dot format"
+dretog_DESCRIPTION = "read graphs in dreadnaut format" +dretog_DESCRIPTION = "read graphs in dreadnaut format"
+edgetransg_DESCRIPTION = "select undirected graphs according to group action on vertices, edges and arcs"
+genbg_DESCRIPTION = "generate small bicoloured graphs" +genbg_DESCRIPTION = "generate small bicoloured graphs"
+genbgL_DESCRIPTION = "$(shell printf "%s %s" $(genbg_DESCRIPTION) "(L1 flavour)")" +genbgL_DESCRIPTION = "$(shell printf "%s %s" $(genbg_DESCRIPTION) "(L1 flavour)")"
+geng_DESCRIPTION = "generate small graphs" +geng_DESCRIPTION = "generate small graphs"
+gengL_DESCRIPTION = "$(shell printf "%s %s" $(geng_DESCRIPTION) "(L1 flavour)")"
+genposetg_DESCRIPTION = "generate posets"
+genquarticg_DESCRIPTION = "generate quartic graphs" +genquarticg_DESCRIPTION = "generate quartic graphs"
+genrang_DESCRIPTION = "generate random graphs" +genrang_DESCRIPTION = "generate random graphs"
+genspecialg_DESCRIPTION = "generate special graphs" +genspecialg_DESCRIPTION = "generate special graphs"
@ -356,32 +433,25 @@ Last-Update: 2017-11-24
+labelg_DESCRIPTION = "canonically label graphs" +labelg_DESCRIPTION = "canonically label graphs"
+linegraphg_DESCRIPTION = "compute the linegraphs of a file of graphs" +linegraphg_DESCRIPTION = "compute the linegraphs of a file of graphs"
+listg_DESCRIPTION = "display graphs in a variety of forms" +listg_DESCRIPTION = "display graphs in a variety of forms"
+nbrhoodg_DESCRIPTION = "extract neighbourhoods of vertices"
+multig_DESCRIPTION = "generate small multigraphs with given underlying graph" +multig_DESCRIPTION = "generate small multigraphs with given underlying graph"
+newedgeg_DESCRIPTION = "create new edges from pairs of non-adjacent edges in each possible way" +newedgeg_DESCRIPTION = "create new edges from pairs of non-adjacent edges in each possible way"
+NRswitchg_DESCRIPTION = "complement vertex edges" +NRswitchg_DESCRIPTION = "complement vertex edges"
+pickg_DESCRIPTION = "select graphs according to a variety of properties" +pickg_DESCRIPTION = "select graphs according to a variety of properties"
+planarg_DESCRIPTION = "test graphs for planarity and find embeddings or obstructions" +planarg_DESCRIPTION = "test graphs for planarity and find embeddings or obstructions"
+productg_DESCRIPTION = "product of two graphs (such as Cartesian product)"
+ranlabg_DESCRIPTION = "randomly relabel graphs" +ranlabg_DESCRIPTION = "randomly relabel graphs"
+shortg_DESCRIPTION = "remove isomorphs from a file of graphs" +shortg_DESCRIPTION = "remove isomorphs from a file of graphs"
+showg_DESCRIPTION = "$(shell printf "%s %s" $(listg_DESCRIPTION) "(stand-alone subset of listg)")" +showg_DESCRIPTION = "$(shell printf "%s %s" $(listg_DESCRIPTION) "(stand-alone subset of listg)")"
+subdivideg_DESCRIPTION = "compute the subdivision graphs of a file of graphs" +subdivideg_DESCRIPTION = "compute the subdivision graphs of a file of graphs"
+twohamg_DESCRIPTION = "split quartic graphs into two hamiltonian cycles" +twohamg_DESCRIPTION = "split quartic graphs into two hamiltonian cycles"
+underlyingg_DESCRIPTION = "take the underlying undirected graphs of a file of graphs"
+vcolg_DESCRIPTION = "colour the vertices of graphs in all distinct ways" +vcolg_DESCRIPTION = "colour the vertices of graphs in all distinct ways"
+watercluster2_DESCRIPTION = "$(shell printf "%s %s" $(directg_DESCRIPTION) "(faster alternative to directg)")" +watercluster2_DESCRIPTION = "$(shell printf "%s %s" $(directg_DESCRIPTION) "(faster alternative to directg)")"
+bliss2dre_DESCRIPTION = "convert files of graphs in Bliss/DIMACS format to stdout in sparse6 format" +blisstog_DESCRIPTION = "convert files of graphs in bliss format to stdout in sparse6 format"
+dimacs2g_DESCRIPTION = "convert files of graphs in DIMACS format to stdout in sparse6 format"
+checks6_DESCRIPTION = "check a file of graphs and optionally perform corrections" +checks6_DESCRIPTION = "check a file of graphs and optionally perform corrections"
+sumlines_DESCRIPTION = "sum lines matching specified graph formats" +sumlines_DESCRIPTION = "sum lines matching specified graph formats"
+ +
+dreadnaut_CPPFLAGS = +dreadnaut_CPPFLAGS =
+addedgeg_CPPFLAGS = +addedgeg_CPPFLAGS =
+addptg_CPPFLAGS =
+amtog_CPPFLAGS = +amtog_CPPFLAGS =
+ancestorg_CPPFLAGS =
+assembleg_CPPFLAGS =
+biplabg_CPPFLAGS = +biplabg_CPPFLAGS =
+catg_CPPFLAGS = +catg_CPPFLAGS =
+complg_CPPFLAGS = +complg_CPPFLAGS =
@ -391,51 +461,40 @@ Last-Update: 2017-11-24
+cubhamg_CPPFLAGS = +cubhamg_CPPFLAGS =
+deledgeg_CPPFLAGS = +deledgeg_CPPFLAGS =
+delptg_CPPFLAGS = +delptg_CPPFLAGS =
+dimacs2g_CPPFLAGS =
+directg_CPPFLAGS = +directg_CPPFLAGS =
+dretodot_CPPFLAGS = +dretodot_CPPFLAGS =
+dretog_CPPFLAGS = +dretog_CPPFLAGS =
+edgetransg_CPPFLAGS =
+genbg_CPPFLAGS = $(nautyW1_flavour_CPPFLAGS) +genbg_CPPFLAGS = $(nautyW1_flavour_CPPFLAGS)
+genbgL_CPPFLAGS = $(nautyL1_flavour_CPPFLAGS) -DMAXN1=30 +genbgL_CPPFLAGS = $(nautyL1_flavour_CPPFLAGS) -DMAXN1=30
+geng_CPPFLAGS = $(nautyW1_flavour_CPPFLAGS) +geng_CPPFLAGS = $(nautyW1_flavour_CPPFLAGS)
+gengL_CPPFLAGS = $(nautyL1_flavour_CPPFLAGS)
+genposetg_CPPFLAGS = $(nautyS1_flavour_CPPFLAGS)
+genquarticg_CPPFLAGS = $(nautyL1_flavour_CPPFLAGS) +genquarticg_CPPFLAGS = $(nautyL1_flavour_CPPFLAGS)
+genrang_CPPFLAGS = +genrang_CPPFLAGS =
+genspecialg_CPPFLAGS = +genspecialg_CPPFLAGS =
+gentourng_CPPFLAGS = $(nautyW0_flavour_CPPFLAGS) -DMAXN=24 +gentourng_CPPFLAGS = -DMAXN=24
+gentreeg_CPPFLAGS = +gentreeg_CPPFLAGS =
+hamheuristic_CPPFLAGS = +hamheuristic_CPPFLAGS =
+labelg_CPPFLAGS = +labelg_CPPFLAGS =
+linegraphg_CPPFLAGS = +linegraphg_CPPFLAGS =
+listg_CPPFLAGS = +listg_CPPFLAGS =
+multig_CPPFLAGS = +multig_CPPFLAGS =
+nbrhoodg_CPPFLAGS =
+newedgeg_CPPFLAGS = +newedgeg_CPPFLAGS =
+NRswitchg_CPPFLAGS = +NRswitchg_CPPFLAGS =
+pickg_CPPFLAGS = +pickg_CPPFLAGS =
+planarg_CPPFLAGS = +planarg_CPPFLAGS =
+productg_CPPFLAGS =
+ranlabg_CPPFLAGS = +ranlabg_CPPFLAGS =
+shortg_CPPFLAGS = +shortg_CPPFLAGS =
+showg_CPPFLAGS = +showg_CPPFLAGS =
+subdivideg_CPPFLAGS = +subdivideg_CPPFLAGS =
+twohamg_CPPFLAGS = +twohamg_CPPFLAGS =
+underlyingg_CPPFLAGS =
+vcolg_CPPFLAGS = +vcolg_CPPFLAGS =
+watercluster2_CPPFLAGS = $(nautyW1_flavour_CPPFLAGS) +watercluster2_CPPFLAGS = -DMAXN=32
+bliss2dre_CPPFLAGS = +blisstog_CPPFLAGS = $(ZLIB_CFLAGS)
+dimacs2g_CPPFLAGS = $(ZLIB_CFLAGS)
+checks6_CPPFLAGS = +checks6_CPPFLAGS =
+sumlines_CPPFLAGS = $(GMP_CFLAGS) +sumlines_CPPFLAGS = $(GMP_CFLAGS)
+ +
+dreadnaut_SOURCES = dreadnaut.c +dreadnaut_SOURCES = dreadnaut.c
+addedgeg_SOURCES = addedgeg.c +addedgeg_SOURCES = addedgeg.c
+addptg_SOURCES = addptg.c
+amtog_SOURCES = amtog.c +amtog_SOURCES = amtog.c
+ancestorg_SOURCES = ancestorg.c
+assembleg_SOURCES = assembleg.c
+biplabg_SOURCES = biplabg.c +biplabg_SOURCES = biplabg.c
+catg_SOURCES = catg.c +catg_SOURCES = catg.c
+complg_SOURCES = complg.c +complg_SOURCES = complg.c
@ -448,12 +507,9 @@ Last-Update: 2017-11-24
+directg_SOURCES = directg.c +directg_SOURCES = directg.c
+dretodot_SOURCES = dretodot.c +dretodot_SOURCES = dretodot.c
+dretog_SOURCES = dretog.c +dretog_SOURCES = dretog.c
+edgetransg_SOURCES = edgetransg.c
+genbg_SOURCES = genbg.c +genbg_SOURCES = genbg.c
+genbgL_SOURCES = genbg.c +genbgL_SOURCES = genbg.c
+geng_SOURCES = geng.c +geng_SOURCES = geng.c
+gengL_SOURCES = geng.c
+genposetg_SOURCES = genposetg.c
+genquarticg_SOURCES = genquarticg.c +genquarticg_SOURCES = genquarticg.c
+genrang_SOURCES = genrang.c +genrang_SOURCES = genrang.c
+genspecialg_SOURCES = genspecialg.c +genspecialg_SOURCES = genspecialg.c
@ -464,31 +520,24 @@ Last-Update: 2017-11-24
+linegraphg_SOURCES = linegraphg.c +linegraphg_SOURCES = linegraphg.c
+listg_SOURCES = listg.c +listg_SOURCES = listg.c
+multig_SOURCES = multig.c +multig_SOURCES = multig.c
+nbrhoodg_SOURCES = nbrhoodg.c
+newedgeg_SOURCES = newedgeg.c +newedgeg_SOURCES = newedgeg.c
+NRswitchg_SOURCES = NRswitchg.c +NRswitchg_SOURCES = NRswitchg.c
+pickg_SOURCES = testg.c +pickg_SOURCES = testg.c
+planarg_SOURCES = planarg.c planarity.c +planarg_SOURCES = planarg.c planarity.c
+productg_SOURCES = productg.c
+ranlabg_SOURCES = ranlabg.c +ranlabg_SOURCES = ranlabg.c
+shortg_SOURCES = shortg.c +shortg_SOURCES = shortg.c
+showg_SOURCES = showg.c +showg_SOURCES = showg.c
+subdivideg_SOURCES = subdivideg.c +subdivideg_SOURCES = subdivideg.c
+twohamg_SOURCES = twohamg.c +twohamg_SOURCES = twohamg.c
+underlyingg_SOURCES = underlyingg.c
+vcolg_SOURCES = vcolg.c +vcolg_SOURCES = vcolg.c
+watercluster2_SOURCES = watercluster2.c +watercluster2_SOURCES = watercluster2.c
+bliss2dre_SOURCES = bliss2dre.c +blisstog_SOURCES = blisstog.c
+dimacs2g_SOURCES = dimacs2g.c
+checks6_SOURCES = checks6.c +checks6_SOURCES = checks6.c
+sumlines_SOURCES = sumlines.c +sumlines_SOURCES = sumlines.c
+ +
+dreadnaut_LDADD = $(NAUTY_LDADD) +dreadnaut_LDADD = $(NAUTY_LDADD)
+addedgeg_LDADD = $(NAUTY_LDADD) +addedgeg_LDADD = $(NAUTY_LDADD)
+addptg_LDADD = $(NAUTY_LDADD)
+amtog_LDADD = $(NAUTY_LDADD) +amtog_LDADD = $(NAUTY_LDADD)
+ancestorg_LDADD = $(NAUTY_LDADD)
+assembleg_LDADD = $(NAUTY_LDADD)
+biplabg_LDADD = $(NAUTY_LDADD) +biplabg_LDADD = $(NAUTY_LDADD)
+catg_LDADD = $(NAUTY_LDADD) +catg_LDADD = $(NAUTY_LDADD)
+complg_LDADD = $(NAUTY_LDADD) +complg_LDADD = $(NAUTY_LDADD)
@ -501,38 +550,31 @@ Last-Update: 2017-11-24
+directg_LDADD = $(NAUTY_LDADD) +directg_LDADD = $(NAUTY_LDADD)
+dretodot_LDADD = $(NAUTY_LDADD) $(LIBM) +dretodot_LDADD = $(NAUTY_LDADD) $(LIBM)
+dretog_LDADD = $(NAUTY_LDADD) +dretog_LDADD = $(NAUTY_LDADD)
+edgetransg_LDADD = $(NAUTY_LDADD)
+genbg_LDADD = $(NAUTYW1_LDADD) +genbg_LDADD = $(NAUTYW1_LDADD)
+genbgL_LDADD = $(NAUTYL1_LDADD) +genbgL_LDADD = $(NAUTYL1_LDADD)
+geng_LDADD = $(NAUTYW1_LDADD) +geng_LDADD = $(NAUTYW1_LDADD)
+gengL_LDADD = $(NAUTYL1_LDADD)
+genposetg_LDADD = $(NAUTYS1_LDADD)
+genquarticg_LDADD = $(NAUTYL1_LDADD) +genquarticg_LDADD = $(NAUTYL1_LDADD)
+genrang_LDADD = $(NAUTY_LDADD) +genrang_LDADD = $(NAUTY_LDADD)
+genspecialg_LDADD = $(NAUTY_LDADD) +genspecialg_LDADD = $(NAUTY_LDADD)
+gentourng_LDADD = $(NAUTYW0_LDADD) +gentourng_LDADD = $(NAUTY_LDADD)
+gentreeg_LDADD = $(NAUTY_LDADD) +gentreeg_LDADD = $(NAUTY_LDADD)
+hamheuristic_LDADD = $(NAUTY_LDADD) +hamheuristic_LDADD = $(NAUTY_LDADD)
+labelg_LDADD = $(NAUTY_LDADD) +labelg_LDADD = $(NAUTY_LDADD)
+linegraphg_LDADD = $(NAUTY_LDADD) +linegraphg_LDADD = $(NAUTY_LDADD)
+listg_LDADD = $(NAUTY_LDADD) +listg_LDADD = $(NAUTY_LDADD)
+multig_LDADD = $(NAUTY_LDADD) +multig_LDADD = $(NAUTY_LDADD)
+nbrhoodg_LDADD = $(NAUTY_LDADD)
+newedgeg_LDADD = $(NAUTY_LDADD) +newedgeg_LDADD = $(NAUTY_LDADD)
+NRswitchg_LDADD = $(NAUTY_LDADD) +NRswitchg_LDADD = $(NAUTY_LDADD)
+pickg_LDADD = $(NAUTY_LDADD) +pickg_LDADD = $(NAUTY_LDADD)
+planarg_LDADD = $(NAUTY_LDADD) +planarg_LDADD = $(NAUTY_LDADD)
+productg_LDADD = $(NAUTY_LDADD)
+ranlabg_LDADD = $(NAUTY_LDADD) +ranlabg_LDADD = $(NAUTY_LDADD)
+shortg_LDADD = $(NAUTY_LDADD) +shortg_LDADD = $(NAUTY_LDADD)
+showg_LDADD = +showg_LDADD =
+subdivideg_LDADD = $(NAUTY_LDADD) +subdivideg_LDADD = $(NAUTY_LDADD)
+twohamg_LDADD = $(NAUTY_LDADD) +twohamg_LDADD = $(NAUTY_LDADD)
+underlyingg_LDADD = $(NAUTY_LDADD)
+vcolg_LDADD = $(NAUTY_LDADD) +vcolg_LDADD = $(NAUTY_LDADD)
+watercluster2_LDADD = $(NAUTYW1_LDADD) +watercluster2_LDADD = $(NAUTY_LDADD)
+bliss2dre_LDADD = $(NAUTY_LDADD) +blisstog_LDADD = $(NAUTY_LDADD) $(ZLIB_LIBS)
+dimacs2g_LDADD = $(NAUTY_LDADD) $(ZLIB_LIBS)
+checks6_LDADD = $(NAUTY_LDADD) +checks6_LDADD = $(NAUTY_LDADD)
+sumlines_LDADD = $(GMP_LIBS) +sumlines_LDADD = $(GMP_LIBS)
+ +
@ -577,8 +619,8 @@ Last-Update: 2017-11-24
+ nautil.c \ + nautil.c \
+ nausparse.c \ + nausparse.c \
+ naugraph.c \ + naugraph.c \
+ schreier.c \
+ naurng.c \ + naurng.c \
+ schreier.c \
+ traces.c \ + traces.c \
+ gtools.c \ + gtools.c \
+ naututil.c \ + naututil.c \
@ -586,10 +628,7 @@ Last-Update: 2017-11-24
+ gutil1.c \ + gutil1.c \
+ gutil2.c \ + gutil2.c \
+ gtnauty.c \ + gtnauty.c \
+ naugroup.c \ + naugroup.c
+ nautycliquer.c \
+ naugstrings.c \
+ nautaux.c
+ +
+libnautyA1_la_DEPENDENCIES = $(libnautyA1_la_MAP) +libnautyA1_la_DEPENDENCIES = $(libnautyA1_la_MAP)
+libnautyA1_la_CPPFLAGS = $(nautyA1_flavour_CPPFLAGS) +libnautyA1_la_CPPFLAGS = $(nautyA1_flavour_CPPFLAGS)
@ -642,9 +681,6 @@ Last-Update: 2017-11-24
+dreadtestL_CPPFLAGS = $(dreadtest_CPPFLAGS) $(nautyL0_flavour_CPPFLAGS) +dreadtestL_CPPFLAGS = $(dreadtest_CPPFLAGS) $(nautyL0_flavour_CPPFLAGS)
+dreadtestL1_CPPFLAGS = $(dreadtest_CPPFLAGS) $(nautyL1_flavour_CPPFLAGS) +dreadtestL1_CPPFLAGS = $(dreadtest_CPPFLAGS) $(nautyL1_flavour_CPPFLAGS)
+dreadtest4K_CPPFLAGS = $(dreadtest_CPPFLAGS) -DMAXN=4096 +dreadtest4K_CPPFLAGS = $(dreadtest_CPPFLAGS) -DMAXN=4096
+nautestS_CPPFLAGS = $(dreadtest_CPPFLAGS) $(nautyS0_flavour_CPPFLAGS)
+nautestW_CPPFLAGS = $(dreadtest_CPPFLAGS) $(nautyW0_flavour_CPPFLAGS)
+nautestL_CPPFLAGS = $(dreadtest_CPPFLAGS) $(nautyL0_flavour_CPPFLAGS)
+ +
+dreadtest_SOURCES = $(dreadnaut_SOURCES) +dreadtest_SOURCES = $(dreadnaut_SOURCES)
+dreadtest1_SOURCES = $(dreadnaut_SOURCES) +dreadtest1_SOURCES = $(dreadnaut_SOURCES)
@ -655,9 +691,6 @@ Last-Update: 2017-11-24
+dreadtestL_SOURCES = $(dreadnaut_SOURCES) +dreadtestL_SOURCES = $(dreadnaut_SOURCES)
+dreadtestL1_SOURCES = $(dreadnaut_SOURCES) +dreadtestL1_SOURCES = $(dreadnaut_SOURCES)
+dreadtest4K_SOURCES = $(dreadnaut_SOURCES) $(libnauty_la_SOURCES) +dreadtest4K_SOURCES = $(dreadnaut_SOURCES) $(libnauty_la_SOURCES)
+nautestS_SOURCES = nauty.h naututil.h nautest.c
+nautestW_SOURCES = nauty.h naututil.h nautest.c
+nautestL_SOURCES = nauty.h naututil.h nautest.c
+ +
+dreadtest_LDADD = $(NAUTY_LDADD) +dreadtest_LDADD = $(NAUTY_LDADD)
+dreadtest1_LDADD = $(top_builddir)/libnautyA1.la $(threadlib) +dreadtest1_LDADD = $(top_builddir)/libnautyA1.la $(threadlib)
@ -668,9 +701,6 @@ Last-Update: 2017-11-24
+dreadtestL_LDADD = $(top_builddir)/libnautyL0.la $(threadlib) +dreadtestL_LDADD = $(top_builddir)/libnautyL0.la $(threadlib)
+dreadtestL1_LDADD = $(top_builddir)/libnautyL1.la $(threadlib) +dreadtestL1_LDADD = $(top_builddir)/libnautyL1.la $(threadlib)
+dreadtest4K_LDADD = $(threadlib) +dreadtest4K_LDADD = $(threadlib)
+nautestS_LDADD = $(top_builddir)/libnautyS0.la $(threadlib)
+nautestW_LDADD = $(top_builddir)/libnautyW0.la $(threadlib)
+nautestL_LDADD = $(top_builddir)/libnautyL0.la $(threadlib)
+ +
+CLEANFILES = \ +CLEANFILES = \
+ $(man_MANS) \ + $(man_MANS) \
@ -741,7 +771,7 @@ Last-Update: 2017-11-24
+]) +])
--- a/runalltests --- a/runalltests
+++ b/runalltests +++ b/runalltests
@@ -1,6 +1,10 @@ @@ -1,12 +1,16 @@
#!/bin/sh #!/bin/sh
# Run all nauty checks # Run all nauty checks
@ -752,6 +782,13 @@ Last-Update: 2017-11-24
runonetest() { runonetest() {
cmd="$1" cmd="$1"
in="$2" in="$2"
ok="$3"
printf "%s %s %s " "$cmd" "$in" "$ok"
-
+
if [ "X$in" = "X" ] ; then
in=/dev/null
elif [ ! -r "$in" ] ; then
@@ -19,10 +23,16 @@ @@ -19,10 +23,16 @@
exit 1 exit 1
fi fi
@ -773,7 +810,7 @@ Last-Update: 2017-11-24
rm $out1 $out2 rm $out1 $out2
--- /dev/null --- /dev/null
+++ b/nauty.map +++ b/nauty.map
@@ -0,0 +1,311 @@ @@ -0,0 +1,279 @@
+LIBNAUTY_2.5 { +LIBNAUTY_2.5 {
+global: +global:
+## nauty.h +## nauty.h
@ -1053,38 +1090,6 @@ Last-Update: 2017-11-24
+ +
+local: *; +local: *;
+}; +};
+
+LIBNAUTY_2.7 {
+## gtools.h
+arg_sequence_min;
+## gutils.h
+degstats3;
+maxcliquesize;
+maxindsetsize;
+## nautycliquer.h
+find_clique;
+find_indset;
+};
+
+LIBNAUTY_2.8 {
+## gtools.h
+breakcellwt;
+## gutils.h
+numcomponents;
+numcomponents1;
+sources_sinks;
+digoncount;
+numind3sets;
+numind3sets1;
+numdirtriangles1;
+numsquares;
+numdiamonds;
+## naurng.h
+ran_init_time;
+## naututil.h
+listtoset;
+settolist;
+};
--- /dev/null --- /dev/null
+++ b/m4/gmp.m4 +++ b/m4/gmp.m4
@@ -0,0 +1,168 @@ @@ -0,0 +1,168 @@
@ -1258,7 +1263,7 @@ Last-Update: 2017-11-24
+]) +])
--- a/gtools-h.in --- a/gtools-h.in
+++ b/gtools-h.in +++ b/gtools-h.in
@@ -59,8 +59,8 @@ @@ -60,8 +60,8 @@
This twisted expression works up to n=160529 in 32-bit arithmetic This twisted expression works up to n=160529 in 32-bit arithmetic
and for larger n if size_t has 64 bits. */ and for larger n if size_t has 64 bits. */
@ -1271,34 +1276,42 @@ Last-Update: 2017-11-24
#include <errno.h> #include <errno.h>
--- a/naugroup.h --- a/naugroup.h
+++ b/naugroup.h +++ b/naugroup.h
@@ -3,7 +3,9 @@ @@ -3,7 +3,10 @@
Procedures for handling groups found by nauty. Procedures for handling groups found by nauty.
*/ */
-#include "nauty.h" -#include "nauty.h"
+#pragma once +#ifndef _NAUGROUP_H_ /* only process this file once */
+#define _NAUGROUP_H_
+ +
+#include <nauty/nauty.h> +#include <nauty/nauty.h>
typedef struct perm_struct typedef struct perm_struct
{ {
@@ -53,3 +56,5 @@
#ifdef __cplusplus
}
#endif
+
+#endif /* _NAUGROUP_H_ */
--- a/naurng.h --- a/naurng.h
+++ b/naurng.h +++ b/naurng.h
@@ -11,8 +11,9 @@ @@ -11,8 +11,10 @@
random number 0..k-1. random number 0..k-1.
*/ */
-#ifndef NAURNG_H -#ifndef NAURNG_H
-#include "naututil.h" -#include "nauty.h"
+#ifndef _NAURNG_H_ /* only process this file once */ +#ifndef _NAURNG_H_ /* only process this file once */
+#define _NAURNG_H_ +#define _NAURNG_H_
+#include <nauty/naututil.h> +
+#include <nauty/nauty.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
@@ -37,5 +38,4 @@ @@ -36,5 +38,4 @@
var = __getkran % (k);} var = __getkran % (k);}
#define INITRANBYTIME ran_init_time(0) #define INITRANBYTIME ran_init((long)time(NULL))
-#define NAURNG_H -#define NAURNG_H
-#endif -#endif
@ -1314,7 +1327,7 @@ Last-Update: 2017-11-24
#ifndef SG_WEIGHT #ifndef SG_WEIGHT
#define SG_WEIGHT int #define SG_WEIGHT int
@@ -127,4 +127,4 @@ @@ -125,4 +125,4 @@
} }
#endif #endif
@ -1322,27 +1335,35 @@ Last-Update: 2017-11-24
+#endif /* _NAUSPARSE_H_ */ +#endif /* _NAUSPARSE_H_ */
--- a/nautinv.h --- a/nautinv.h
+++ b/nautinv.h +++ b/nautinv.h
@@ -10,7 +10,9 @@ @@ -10,7 +10,10 @@
* * * *
*****************************************************************************/ *****************************************************************************/
-#include "nauty.h" /* which includes stdio.h */ -#include "nauty.h" /* which includes stdio.h */
+#pragma once +#ifndef _NAUTINV_H_ /* only process this file once */
+#define _NAUTINV_H_
+ +
+#include <nauty/nauty.h> /* which includes stdio.h */ +#include <nauty/nauty.h> /* which includes stdio.h */
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
@@ -40,3 +43,5 @@
#ifdef __cplusplus
}
#endif
+
+#endif /* _NAUTINV_H_ */
--- a/naututil-h.in --- a/naututil-h.in
+++ b/naututil-h.in +++ b/naututil-h.in
@@ -122,9 +122,12 @@ @@ -115,9 +115,13 @@
* * * *
*****************************************************************************/ *****************************************************************************/
-#include "nauty.h" /* which includes stdio.h */ -#include "nauty.h" /* which includes stdio.h */
-#include "nausparse.h" -#include "nausparse.h"
-#include "naurng.h" -#include "naurng.h"
+#pragma once +#ifndef _NAUTUTIL_H_ /* only process this file once */
+#define _NAUTUTIL_H_
+ +
+#include <nauty/nauty.h> /* which includes stdio.h */ +#include <nauty/nauty.h> /* which includes stdio.h */
+#include <nauty/nausparse.h> +#include <nauty/nausparse.h>
@ -1351,6 +1372,12 @@ Last-Update: 2017-11-24
/* At this point we can assume that <sys/types.h>, <unistd.h>, <stddef.h>, /* At this point we can assume that <sys/types.h>, <unistd.h>, <stddef.h>,
<stdlib.h>, <string.h> or <strings.h> and <malloc.h> if necessary have <stdlib.h>, <string.h> or <strings.h> and <malloc.h> if necessary have
been included if they exist. */ been included if they exist. */
@@ -287,3 +291,5 @@
#endif /*NAUTY_SEED_DEFINED*/
/* @edit_msg@ */
+
+#endif /* _NAUTUTIL_H_ */
--- a/schreier.h --- a/schreier.h
+++ b/schreier.h +++ b/schreier.h
@@ -3,8 +3,8 @@ @@ -3,8 +3,8 @@
@ -1396,18 +1423,20 @@ Last-Update: 2017-11-24
+distclean-local: remove-links +distclean-local: remove-links
+ -rm -f Makefile + -rm -f Makefile
+ +
--- a/nauty-pc.in --- /dev/null
+++ b/nauty-pc.in +++ b/nauty.pc.in
@@ -6,6 +6,7 @@ @@ -0,0 +1,12 @@
Name: nauty +prefix=@prefix@
Description: Programs and library for graph isomorphism +exec_prefix=@exec_prefix@
Version: @PACKAGE_VERSION@ +libdir=@libdir@
-Libs: -L${libdir} LIBS +includedir=@includedir@
-Libs.private: +
-Cflags: -I${includedir} CFLGS +Name: nauty
+Description: nauty graph automorphism library
+Version: @PACKAGE_VERSION@
+URL: @PACKAGE_URL@ +URL: @PACKAGE_URL@
+Libs: -L${libdir} -l@PACKAGE@ +Libs: -L${libdir} -l@PACKAGE@
+Libs.private: -lpthread +Libs.private: @threadlib@
+Cflags: -I${includedir} +Cflags: -I${includedir}
--- /dev/null --- /dev/null
+++ b/m4/zlib.m4 +++ b/m4/zlib.m4
@ -1442,23 +1471,36 @@ Last-Update: 2017-11-24
+]) +])
--- a/traces.h --- a/traces.h
+++ b/traces.h +++ b/traces.h
@@ -26,6 +26,8 @@ @@ -22,6 +22,9 @@
* 10-Nov-22 : bug correction (cycles in degree 2 subgraphs) * * 28-Jan-16 : version ready for nauty and Traces v.2.6 distribution *
******************************************************************************/ *****************************************************************************/
+#pragma once +#ifndef _TRACES_H_ /* only process this file once */
+#define _TRACES_H_
+ +
#include "gtools.h" #include "gtools.h"
#include "schreier.h" #include "schreier.h"
@@ -61,3 +64,5 @@
TracesStats*,sparsegraph*);
extern void refine_tr(sparsegraph*,int*,int*,int*,int*,TracesOptions*);
extern void traces_freedyn(void);
+
+#endif /* _TRACES_H_ */
--- a/gutils.h --- a/gutils.h
+++ b/gutils.h +++ b/gutils.h
@@ -3,6 +3,8 @@ @@ -1,5 +1,8 @@
#ifndef _GUTILS_H_ /* only process this file once */ /* gutils.h - procedure declarations for gutil1.c and gutil2.c */
#define _GUTILS_H_
+#pragma once +#ifndef _GUTILS_H_ /* only process this file once */
+#define _GUTILS_H_
+ +
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
@@ -44,3 +47,5 @@
#ifdef __cplusplus
}
#endif
+
+#endif /* _GUTILS_H_ */

View File

@ -1,13 +0,0 @@
--- a/checks6.c
+++ b/checks6.c
@@ -118,9 +118,8 @@
*p++ = BIAS6 + ((x << k) | ((1 << (k-1)) - 1));
return TRUE;
}
- else
- return FALSE;
}
+ return FALSE;
}
/***********************************************************************/

View File

@ -1,11 +1,11 @@
Description: explicit extern declaration for gt_numorbits Description: explicit extern declaration for gt_numorbits
Origin: debian Origin: debian
Author: Jerome Benoit <calculus@rezozer.net> Author: Jerome Benoit <calculus@rezozer.net>
Last-Update: 2017-11-24 Last-Update: 2013-11-22
--- a/labelg.c --- a/labelg.c
+++ b/labelg.c +++ b/labelg.c
@@ -89,7 +89,6 @@ @@ -88,7 +88,6 @@
static nauty_counter orbtotal; static nauty_counter orbtotal;
static double unorbtotal; static double unorbtotal;
@ -15,7 +15,7 @@ Last-Update: 2017-11-24
--- a/gtools-h.in --- a/gtools-h.in
+++ b/gtools-h.in +++ b/gtools-h.in
@@ -312,6 +312,7 @@ @@ -273,6 +273,7 @@
extern TLS_ATTR char *readg_line; extern TLS_ATTR char *readg_line;
extern TLS_ATTR size_t ogf_linelen; extern TLS_ATTR size_t ogf_linelen;
extern TLS_ATTR boolean is_pipe; extern TLS_ATTR boolean is_pipe;
@ -25,7 +25,7 @@ Last-Update: 2017-11-24
} }
--- a/gtnauty.c --- a/gtnauty.c
+++ b/gtnauty.c +++ b/gtnauty.c
@@ -20,7 +20,7 @@ @@ -18,7 +18,7 @@
static int fuzz2[] = {006532,070236,035523,062437}; static int fuzz2[] = {006532,070236,035523,062437};
#define FUZZ2(x) ((x) ^ fuzz2[(x)&3]) #define FUZZ2(x) ((x) ^ fuzz2[(x)&3])

View File

@ -0,0 +1,18 @@
Description: explicit extern declaration in naurng.h
Origin: debian
Author: Jerome Benoit <calculus@rezozer.net>
Last-Update: 2013-11-22
--- a/naurng.h
+++ b/naurng.h
@@ -18,8 +18,8 @@
extern "C" {
#endif
-void ran_init(long seed);
-long ran_nextran(void);
+extern void ran_init(long seed);
+extern long ran_nextran(void);
#ifdef __cplusplus
}

View File

@ -1,22 +0,0 @@
--- a/assembleg.c 2021-09-03 01:29:06.000000000 -0600
+++ b/assembleg.c 2022-01-27 14:51:21.291007503 -0700
@@ -360,7 +360,7 @@ main(int argc, char *argv[])
t = CPUTIME - t;
if (!quiet)
- fprintf(stderr,">Z %d graphs read from %s; " COUNTER_FMT
+ fprintf(stderr,">Z %d graphs read from %s; %lu"
" graphs written to %s in %3.2f sec.\n",
ninputs,infilename,nout,outfilename,t);
--- a/dretodot.c 2021-09-04 05:22:07.000000000 -0600
+++ b/dretodot.c 2022-01-27 14:51:58.387049903 -0700
@@ -625,7 +625,7 @@ main(int argc, char *argv[])
too_big = TRUE;
}
if (e_count > MaxE) {
- fprintf(stderr, ">E Too many edges (%lu, max: %d; use -E# (at your own risk))\n", e_count, MaxE);
+ fprintf(stderr, ">E Too many edges (%zu, max: %d; use -E# (at your own risk))\n", e_count, MaxE);
too_big = TRUE;
}

View File

@ -7,7 +7,7 @@ Last-Update: 2016-03-19
--- a/watercluster2.c --- a/watercluster2.c
+++ b/watercluster2.c +++ b/watercluster2.c
@@ -1,53 +1,65 @@ @@ -1,54 +1,58 @@
// cc -O4 -o water2 -DWORDSIZE=32 -DMAXN=WORDSIZE nauty.c naugraph.c nautil.c gtools.c schreier.c naurng.c watercluster2.c // cc -O4 -o water2 -DWORDSIZE=32 -DMAXN=WORDSIZE nauty.c naugraph.c nautil.c gtools.c schreier.c naurng.c watercluster2.c
-/* -/*
@ -35,8 +35,6 @@ Last-Update: 2016-03-19
- ended by a 0. Then the list of outgoing neighbours of 2 follows -- again ended with a 0, etc. - ended by a 0. Then the list of outgoing neighbours of 2 follows -- again ended with a 0, etc.
- The code is complete with the 0 ending the list of outgoing neighbours of nv. - The code is complete with the 0 ending the list of outgoing neighbours of nv.
- -
- Z means: Output the directed graphs in digraph6 code. See formats.txt for a complete definition.
-
- C means: Do really construct all the directed graphs in memory, but don't output them. This is not - C means: Do really construct all the directed graphs in memory, but don't output them. This is not
- a big difference in case of restricted in- and outdegrees, because all that is done extra is that - a big difference in case of restricted in- and outdegrees, because all that is done extra is that
- edges are directed instead of just keeping track of in- and out-degrees. This option is intended only - edges are directed instead of just keeping track of in- and out-degrees. This option is intended only
@ -54,72 +52,68 @@ Last-Update: 2016-03-19
- m read multicode - m read multicode
- -
-This program uses different labelling routines -- all based on the ideas of -This program uses different labelling routines -- all based on the ideas of
+#define GTOOL_USAGEHELP_COMPATIBILITY -
-G. Brinkmann, Generating water clusters and other directed graphs, -G. Brinkmann, Generating water clusters and other directed graphs,
-Journal of Mathematical Chemistry 46, 1112--1121 (2009) -Journal of Mathematical Chemistry 46, 1112--1121 (2009)
+#define USAGE "watercluster2 [ix] [oy] [S] [T] [B] [Z] [C] [m]" +#define GTOOL_USAGEHELP_COMPATIBILITY
-October 10, 2011: corrected error caused by overflow of 32bit int used as hashvalue.
+#define USAGE "watercluster2 [ix] [oy] [S] [T] [B] [C] [m]"
-Sep, 2012: PROCESS feature added by BDM.
+#define HELPTEXT \ +#define HELPTEXT \
+" Reads graphs in g6 code or multicode (optional) from stdin and directs them\n\ +" Reads graphs in g6 code or multicode (optional) from stdin and directs them\n\
+\n\ +\n\
+ ix: the indegree of every vertex may be at most x.\n\ + ix : the indegree of every vertex may be at most x.\n\
+ The default maximum indegree is unlimited.\n\ + The default maximum indegree is unlimited.\n\
+\n\ +\n\
+ oy: the outdegree of every vertex may be at most y.\n\ + oy : the outdegree of every vertex may be at most y.\n\
+ The default maximum outdegree is unlimited.\n\ + The default maximum outdegree is unlimited.\n\
+\n\ +\n\
+ S : allow that for every pair of vertices x,y at most one of the edges x-->y\n\ + S : allow that for every pair of vertices x,y at most one of the edges x-->y\n\
+ and y-->x may be present. By default both of them may be present in the\n\ + and y-->x may be present. By default both of them may be present in the same graph.\n\
+ same graph.\n\
+\n\ +\n\
+ T : Output directed graphs in T-code. This is a simple ASCII output format.\n\
+ Every line contains one graph. First the number of vertices, then the\n\
+ number of directed edges and then the list of directed edges with the\n\
+ start first and the end then. E.g.: 3 2 0 1 2 1 means 3 vertices, 2\n\
+ directed edges:\n\
+ 0-->1 and 2-->1\n\
+\n\ +\n\
+ B : Output the directed graphs in a binary code. Every item of the code is an\n\ + T : Output directed graphs in T-code. This is a simple ASCII output format. Every line\n\
+ unsigned char. The first unsigned char is the number nv of vertices. The\n\ + contains one graph. First the number of vertices, then the number of\n\
+ vertices are numbered 1..nv. Then the list of vertices x for which there\n\ + directed edges and then the list of directed edges with the start first\n\
+ is a directed edge 1->x follow. This list is ended by a 0. Then the list\n\ + and the end then. E.g.: 3 2 0 1 2 1 means 3 vertices, 2 directed edges:\n\
+ of outgoing neighbours of 2 follows -- again ended with a 0, etc.\n\ + 0-->1 and 2-->1\n\
+ The code is complete with the 0 ending the list of outgoing neighbours of\n\
+ nv.\n\
+\n\ +\n\
+ Z : Output the directed graphs in digraph6 code. See formats.txt for a\n\ + B : Output the directed graphs in a binary code. Every item of the code is an unsigned\n\
+ complete definition.\n\ + char. The first unsigned char is the number nv of vertices. The vertices are numbered 1..nv\n\
+ Then the list of vertices x for which there is a directed edge 1->x follow. This list is\n\
+ ended by a 0. Then the list of outgoing neighbours of 2 follows -- again ended with a 0, etc.\n\
+ The code is complete with the 0 ending the list of outgoing neighbours of nv.\n\
+\n\ +\n\
+ C : Do really construct all the directed graphs in memory, but don't output\n\ + C : Do really construct all the directed graphs in memory, but don't output them. This is not\n\
+ them. This is not a big difference in case of restricted in- and\n\ + a big difference in case of restricted in- and outdegrees, because all that is done extra is that\n\
+ outdegrees, because all that is done extra is that edges are directed\n\ + edges are directed instead of just keeping track of in- and out-degrees. This option is intended only\n\
+ instead of just keeping track of in- and out-degrees. This option is\n\ + for testing purposes to test also routines that are normally not used when counting. Things that would\n\
+ intended only for testing purposes to test also routines that are normally\n\ + speed up the counting also in some cases of restricted in- and out-degrees -- like multiplying the\n\
+ not used when counting. Things that would speed up the counting also in\n\ + possibilities of assigning directions to edges that can be assigned directions independent\n\
+ some cases of restricted in- and out-degrees -- like multiplying the\n\ + of each other (depending on the degrees of the endvertices and overlaps) -- are not included.\n\
+ possibilities of assigning directions to edges that can be assigned\n\ + In case of not restrictive bounds on the in- and out-degree it not really constructing the graphs\n\
+ directions independent of each other (depending on the degrees of the\n\ + can be considerably faster. In cases of restricted in- and out-degrees the only difference is that\n\
+ endvertices and overlaps) -- are not included.\n\ + the graph isn't modified...\n\
+ In case of not restrictive bounds on the in- and out-degree it not really\n\ + The fact that in case of no output the graph is not modified is mainly to save time for the one\n\
+ constructing the graphs can be considerably faster. In cases of restricted\n\ + case of waterclusters, where large numbers were determined. If large numbers (without output)\n\
+ in- and out-degrees the only difference is that the graph isn't modified.\n\ + for other cases shall be determined, one should think about adding the multiplication routines.\n\
+ The fact that in case of no output the graph is not modified is mainly to\n\
+ save time for the one case of waterclusters, where large numbers were\n\
+ determined. If large numbers (without output) for other cases shall be\n\
+ determined, one should think about adding the multiplication routines.\n\
+\n\ +\n\
+ m : read multicode instead of g6 code\n\ + m : read multicode instead of g6 code\n\
+\n\ +\n\
+This program uses different labelling routines -- all based on the ideas of\n\ +This program uses different labelling routines -- all based on the ideas of\n\
+\n\ +\n\
+G. Brinkmann, Generating water clusters and other directed graphs,\m\ +G. Brinkmann, Generating water clusters and other directed graphs,\n\
+Journal of Mathematical Chemistry 46, 1112--1121 (2009)\n" +Journal of Mathematical Chemistry 46, 1112--1121 (2009)\n"
+/* +/*
October 10, 2011: corrected error caused by overflow of 32bit int used as hashvalue. + * October 10, 2011: corrected error caused by overflow of 32bit int used as hashvalue.
+ *
+ * Sep, 2012: PROCESS feature added by BDM.
*/
Sep, 2012: PROCESS feature added by BDM. /* PROCESS feature
@@ -71,7 +83,7 @@ Oct, 2017: digraph6 output added by BDM. @@ -67,7 +71,7 @@
* *
* If SUMMARY is defined, it must expand as the name of a procedure * If SUMMARY is defined, it must expand as the name of a procedure
* with prototype void SUMMARY(void). It is called at the end after * with prototype void SUMMARY(void). It is called at the end after
@ -128,7 +122,24 @@ Last-Update: 2016-03-19
*/ */
//#include<stdio.h> //#include<stdio.h>
@@ -4042,6 +4054,15 @@ int main(int argc, char *argv[]) @@ -500,7 +504,7 @@
return 1;
}
-
+#ifndef GTOOL_USAGEHELP_COMPATIBILITY
void usage(char name[])
{
@@ -518,6 +522,7 @@
exit(1);
}
+#endif
/**********DECODE_TO_NAUTY****************************************************/
@@ -4013,6 +4018,15 @@
int multicode=0, g6code=1; int multicode=0, g6code=1;
long long int last=0LL; long long int last=0LL;
@ -143,21 +154,21 @@ Last-Update: 2016-03-19
+ +
if (sizeof(long long int)<8) if (sizeof(long long int)<8)
{ {
fprintf(stderr,">E long long too short; This may cause problems with the hashing function for large degree -- exit().\n"); fprintf(stderr,"This may cause problems with the hashing function for large degree -- exit().\n");
@@ -4063,7 +4084,15 @@ int main(int argc, char *argv[]) @@ -4028,7 +4042,15 @@
else if (argv[i][0]=='Z') direct_output=4; /* BDM */ else if (argv[i][0]=='B') direct_output=3;
else if (argv[i][0]=='S') double_allowed=0; else if (argv[i][0]=='S') double_allowed=0;
else if (argv[i][0]=='m') { g6code=0; multicode=1; } else if (argv[i][0]=='m') { g6code=0; multicode=1; }
- else usage(argv[0]); - else usage(argv[0]);
+ else { + else {
+#ifdef GTOOL_USAGEHELP_COMPATIBILITY +#ifdef GTOOL_USAGEHELP_COMPATIBILITY
+ fprintf(stderr, ">E Usage: %s\n", USAGE); + fprintf(stderr,">E Usage: %s\n",USAGE);
+ fprintf(stderr, "Use watercluster2 -help to see a list of the options.\n"); + fprintf(stderr,"Use watercluster2 -help to see a list of the options.\n");
+ exit(1); + exit(1);
+#else +#else
+ usage(argv[0]); + usage(argv[0]);
+#endif +#endif
+ } + }
} }
#ifdef PROCESS #ifdef PROCESS
@ -176,12 +187,12 @@ Last-Update: 2016-03-19
--- a/geng.c --- a/geng.c
+++ b/geng.c +++ b/geng.c
@@ -6,8 +6,7 @@ @@ -6,8 +6,7 @@
/* geng.c version 3.6; B D McKay, October 2022. */ /* geng.c version 2.9; B D McKay, Jan 2016. */
#define USAGE \ #define USAGE \
-"geng [-cCmtfkbd#D#] [-uygsnh] [-lvq] \n\ -"geng [-cCmtfbd#D#] [-uygsnh] [-lvq] \n\
- [-x#X#] n [mine[:maxe]] [res/mod] [file]" - [-x#X#] n [mine[:maxe]] [res/mod] [file]"
+"geng [-cCmtfkbd#D#] [-uygsnh] [-lvq] [-x#X#] n [mine[:maxe]] [res/mod] [file]" +"geng [-cCmtfbd#D#] [-uygsnh] [-lvq] [-x#X#] n [mine[:maxe]] [res/mod] [file]"
#define HELPTEXT \ #define HELPTEXT \
" Generate all graphs of a specified class.\n\ " Generate all graphs of a specified class.\n\
@ -191,24 +202,36 @@ Last-Update: 2016-03-19
/* TODO: Check allocs for no edges */ /* TODO: Check allocs for no edges */
#define USAGE \ #define USAGE \
-"genrang [-P#|-P#/#|-e#|-r#|-R#|-d#] [-M#] [-l#] [-m#] [-t] [-T] [-a] \n" \ -"genrang [-P#|-P#/#|-e#|-r#|-R#|-d#] [-l#] [-m#] [-t] [-T] [-a] \n" \
-" [-s|-g|-z] [-S#] [-q] n|n1,n2 num [outfile]" -" [-s|-g|-z] [-S#] [-q] n|n1,n2 num [outfile]"
+"genrang [-P#|-P#/#|-e#|-r#|-R#|-d#] [-M#] [-l#] [-m#] [-t] [-T] [-a] [-s|-g|-z] [-S#] [-q] n|n1,n2 num [outfile]" +"genrang [-P#|-P#/#|-e#|-r#|-R#|-d#] [-l#] [-m#] [-t] [-T] [-a] [-s|-g|-z] [-S#] [-q] n|n1,n2 num [outfile]"
#define HELPTEXT \ #define HELPTEXT \
" Generate random graphs.\n\ " Generate random graphs.\n\
--- a/genspecialg.c --- a/vcolg.c
+++ b/genspecialg.c +++ b/vcolg.c
@@ -1,13 +1,12 @@ @@ -1,8 +1,7 @@
/* genspecialg.c version 1.3; B D McKay, Mar 19, 2018 */ /* vcolg.c version 1.0; B D McKay, Aug 31, 2013 */
-#define USAGE "genspecialg [-s|-g|-z|-d|-v] [-q]\n\ #define USAGE \
- [-p#|-c#|-e#|-k#|-b#,#[,#]|-Q#|-f#|-J#,#\n\ -"vcolg [-q] [-u|-T|-G|-A|-B] [-e#|-e#:#] \n" \
- |-P#,#|C#,#...|G#,#...|T#,#...]* [outfile]" -" [-m#] [-f#] [-D#|-r#|-l#] [infile [outfile]]"
+#define USAGE "genspecialg [-s|-g|-z|-d|-v] [-q] [-p#|-c#|-e#|-k#|-b#,#[,#]|-Q#|-f#|-J#,#|-P#,#|C#,#...|G#,#...|T#,#...]* [outfile]" +"vcolg [-q] [-u|-T|-G|-A|-B] [-e#|-e#:#] [-m#] [-f#] [-D#|-r#|-l#] [infile [outfile]]"
#define HELPTEXT \ #define HELPTEXT \
" Generate special graphs.\n\ " Read undirected loop-free graphs and colour their vertices in\n\
--- a/genspecialg.c
+++ b/genspecialg.c
@@ -1,20 +1,22 @@
/* genspecialg.c version 1.1; B D McKay, Feb 12, 2016 */
-#define USAGE "genspecialg \n\
-[-s|-g|-z|-d] [-q] \
-[-p#|-c#|-e#|-k#|-b#,#|-Q#|-f#|-J#,#|-P#,#|C#,#...|G#,#...|T#,#...] [outfile]"
+#define USAGE "genspecialg [-s|-g|-z|-d] [-q] [-p#|-c#|-e#|-k#|-b#,#|-Q#|-f#|-J#,#|-P#,#|C#[,#]|G#[,#]|T#[,#]] [outfile]"
#define HELPTEXT \
" Generate one particular graph.\n\
- # : size parameter called n in the descriptions\n\ - # : size parameter called n in the descriptions\n\
\n\ \n\
+Options:\n\ +Options:\n\
@ -216,8 +239,7 @@ Last-Update: 2016-03-19
-s : Write in sparse6 format (default)\n\ -s : Write in sparse6 format (default)\n\
-g : Write in graph6 format\n\ -g : Write in graph6 format\n\
-z : Make digraph versions and write in digraph6 format\n\ -z : Make digraph versions and write in digraph6 format\n\
@@ -15,7 +14,10 @@ -d : Write in dreadnaut format (can be used with -z)\n\
-v : For each graph, report the size to stderr\n\
-q : Suppress summary\n\ -q : Suppress summary\n\
\n\ \n\
- If defined, the digraph version is shown in parentheses:\n\ - If defined, the digraph version is shown in parentheses:\n\
@ -228,72 +250,140 @@ Last-Update: 2016-03-19
-p# : path (directed path) on n vertices.\n\ -p# : path (directed path) on n vertices.\n\
-c# : cycle (directed cycle) on n vertices.\n\ -c# : cycle (directed cycle) on n vertices.\n\
-e# : empty graph (digraph with loops only) on n vertices.\n\ -e# : empty graph (digraph with loops only) on n vertices.\n\
@@ -26,9 +28,9 @@ @@ -24,9 +26,9 @@
-P#,# : generalized Petersen graph; usual one is -P5,2\n\ -P#,# : generalized Petersen graph; usual one is -P5,2\n\
-Q# : hypercube on 2^n vertices and degree n.\n\ -Q# : hypercube on 2^n vertices and degree n.\n\
-J#,# : Johnson graph J(n,k), args are n and k.\n\ -J#,# : Johnson graph J(n,k), args are n and k.\n\
- -C#,#... : circulant (di)graph.\n\ - -C#,#... : circulant (di)graph.\n\
- -T#,#... : theta (di)graph Theta(#,#,...), give path lengths.\n\ - -T#,#... : theta (di)graph Theta(#,#,...), give path lengths.\n\
- -G#,#... : (directed) grid, use negative values for open directions\n\ - -G#,#... : (directed) grid, use negative values for open directions\n"
+ -C#[,#] : circulant (di)graph.\n\ + -C#[,#] : circulant (di)graph.\n\
+ -T#[,#] : theta (di)graph Theta(#,#,...), give path lengths.\n\ + -T#[,#] : theta (di)graph Theta(#[,#]), give path lengths.\n\
+ -G#[,#] : (directed) grid, use negative values for open directions\n\ + -G#[,#] : (directed) grid, use negative values for open directions\n"
\n\
Any number of graphs can be generated at once.\n" /* Ideas: multipartite, knesser, full trees */
--- a/cubhamg.c --- a/cubhamg.c
+++ b/cubhamg.c +++ b/cubhamg.c
@@ -3,8 +3,7 @@ @@ -1,54 +1,53 @@
Version 2.0 of August 2021. */ -/* cubhamg.c : pick those inputs that are nonhamiltonian and
- have max degree <= 3.
+/* cubhamg.c : pick those inputs that are nonhamiltonian and have max degree <= 3. */
#define USAGE \ - Usage:
- "cubhamg [-#] [-v|-V]" \ -cubhamg [-#] [-v|-V] [-n#-#|-y#-#|-i|-I|-o|-x|-e|-E] [-b|-t] [infile [outfile]]
- " [-n#-#|-y#-#|-i|-I|-o|-O|-x|-e|-E] [-b|-t] [infile [outfile]]" +#define USAGE "cubhamg [-#] [-v|-V] [-n#-#|-y#-#|-i|-I|-o|-x|-e|-E] [-b|-t] [infile [outfile]]"
+ "cubhamg [-#] [-v|-V] [-n#-#|-y#-#|-i|-I|-o|-O|-x|-e|-E] [-b|-t] [infile [outfile]]"
#define HELPTEXT \ - infile is the name of the input file in graph6/sparse6 format
" cubhamg : Find hamiltonian cycles in sub-cubic graphs\n" \ - outfile is the name of the output file in the same format
--- a/bliss2dre.c +#define HELPTEXT \
+++ b/bliss2dre.c +" Pick those inputs that are nonhamiltonian and have max degree <= 3.\n\
@@ -1,5 +1,6 @@ +\n\
#include <stdio.h> + infile is the name of the input file in graph6/sparse6 format (default: stdin)\n\
#include <stdlib.h> +\n\
+#include <string.h> + outfile is the name of the output file in the same format (default: stdout)\n\
/* Reads a graph in Bliss/DIMACS format from stdin and writes it in +\n\
* dreadnaut format to stdout. If there is an argument, it is written + The output file will have a header >>graph6<< or >>sparse6<< if the input file does.\n\
* to the output before the graph. If there are two arguments, they +\n\
@@ -43,6 +44,13 @@ +Options:\n\
int i,v,w; + -# A parameter useful for tuning (default 100)\n\
int haveptn; + -v Report nonhamiltonian graphs and noncubic graphs\n\
+ -V .. in addition give a cycle for the hamiltonian ones\n\
+ -n#-# If the two numbers are v and i, then the i-th edge\n\
+ out of vertex v is required to be not in the cycle.\n\
+ It must be that i=1..3 and v=0..n-1.\n\
+ -y#-# If the two numbers are v and i, then the i-th edge\n\
+ out of vertex v is required to be in the cycle.\n\
+ It must be that i=1..3 and v=0..n-1.\n\
+ You can use any number of -n/-y switches to force\n\
+ edges. Out of range first arguments are ignored.\n\
+ If -y and -n give same edge, -y wins.\n\
+ -i Test + property: for each edge e, there is a hamiltonian cycle using e.\n\
+ -I Test ++ property: for each pair of edges e,e', there is\n\
+ a hamiltonian cycle which uses both e and e'.\n\
+ -o Test - property: for each edge e, there is a hamiltonian cycle avoiding e.\n\
+ -x Test +- property: for each pair of edges e,e', there is\n\
+ a hamiltonian cycle which uses e but avoids e'.\n\
+ -e Test 3/4 property: for each edge e, at least 3 of the 4\n\
+ paths of length 3 passing through e lie on hamiltonian cycles.\n\
+ -E Test 3/4+ property: for each edge e failing the 3/4 property,\n\
+ all three ways of joining e to the rest of the graph are\n\
+ hamiltonian avoiding e.\n\
+ -T# Specify a timeout, being a limit on how many search tree\n\
+ nodes are made. If the timeout occurs, the graph is\n\
+ written to the output as if it is nonhamiltonian.\n\
+ -R# Specify the number of repeat attempts for each stage.\n\
+ -F Analyze covering paths from 2 or 4 vertices of degree 2.\n\
+\n\
+ -b Require biconnectivity\n\
+ -t Require triconnectivity (note: quadratic algorithm)\n\
+\n\
+Comments:\n\
+ -y, -n, -#, -R and -T are ignored for -i, -I, -x, -o, -e, -E, -F\n"
+ if (argc > 1 && strcmp(argv[1],"--help") == 0) - stdin and stdout are the defaults for infile and outfile
+ { -
+ puts("Usage: bliss2dre < bliss.graph > dreadnaut.graph"); - The output file will have a header >>graph6<< or >>sparse6<<
+ puts(" Reads a graph in Bliss/DIMACS format from stdin."); - if and only if the input file does.
+ puts(" Writes the graph in dreadnaut format to stdout."); -
+ return 0; - Optional switches:
+ } -
haven = 0; - -# A parameter useful for tuning (default 100)
j = 0; - -v Report nonhamiltonian graphs and noncubic graphs
while ((c = nextchar()) >= 0) - -V .. in addition give a cycle for the hamiltonian ones
--- a/genposetg.c - -n#-# If the two numbers are v and i, then the i-th edge
+++ b/genposetg.c - out of vertex v is required to be not in the cycle.
@@ -727,12 +727,12 @@ - It must be that i=1..3 and v=0..n-1.
- -y#-# If the two numbers are v and i, then the i-th edge
- out of vertex v is required to be in the cycle.
- It must be that i=1..3 and v=0..n-1.
- You can use any number of -n/-y switches to force
- edges. Out of range first arguments are ignored.
- If -y and -n give same edge, -y wins.
- -i Test + property: for each edge e, there is a hamiltonian
- cycle using e.
- -I Test ++ property: for each pair of edges e,e', there is
- a hamiltonian cycle which uses both e and e'.
- -o Test - property: for each edge e, there is a hamiltonian
- cycle avoiding e.
- -x Test +- property: for each pair of edges e,e', there is
- a hamiltonian cycle which uses e but avoids e'.
- -e Test 3/4 property: for each edge e, at least 3 of the 4
- paths of length 3 passing through e lie on hamiltonian cycles.
- -E Test 3/4+ property: for each edge e failing the 3/4 property,
- all three ways of joining e to the rest of the graph are
- hamiltonian avoiding e.
- -T# Specify a timeout, being a limit on how many search tree
- nodes are made. If the timeout occurs, the graph is
- written to the output as if it is nonhamiltonian.
- -R# Specify the number of repeat attempts for each stage.
- -F Analyze covering paths from 2 or 4 vertices of degree 2.
-
- -b Require biconnectivity
- -t Require triconnectivity (note: quadratic algorithm)
-
- -y, -n, -#, -R and -T are ignored for -i, -I, -x, -o, -e, -E, -F
+/**************************************************************************
static void usage(char name[]) B. D. McKay, Nov 1995 + Aug 1996 + Feb 2002 + Jul 2008 + Nov 2015
-{ fprintf(stderr,"\nUsage: %s n [o|t] [q] [m x y] where n <= 16 is the number of points\n",name ); @@ -1611,6 +1610,8 @@
- fprintf(stderr," Generate the Hasse diagrams of the posets with n points\n"); char *arg;
- fprintf(stderr," o causes digraph6 output in arbitrary order to be written to stdout\n"); int codetype;
- fprintf(stderr," t causes digraph6 output in topological order to be written to stdout\n");
- fprintf(stderr," q supresses statistics except for the final count\n"); + HELP;
- fprintf(stderr," m x y with 0 <= x < y divides the generation\n" +
+{ printf("\nUsage: %s n [o|t] [q] [m x y] where n <= 16 is the number of points\n",name ); infilename = outfilename = NULL;
+ printf(" Generate the Hasse diagrams of the posets with n points\n"); badargs = FALSE;
+ printf(" -o causes digraph6 output in arbitrary order to be written to stdout\n"); e34plus = e34 = in = out = inin = inout = FALSE;
+ printf(" -t causes digraph6 output in topological order to be written to stdout\n"); @@ -1729,8 +1730,8 @@
+ printf(" -q supresses statistics except for the final count\n");
+ printf(" -m x y with 0 <= x < y divides the generation\n" if (badargs)
" into y parts and writes only part x.\n"); {
exit(0); } - fprintf(stderr,
- ">E Usage: cubhamg [-#] [-v | -V] [-n#-#] [-y#-#] [infile [outfile]]\n");
+ fprintf(stderr, ">E Usage: " USAGE "\n" );
+ GETHELP;
exit(1);
}

View File

@ -1,33 +0,0 @@
--- a/gtools.h 2021-09-03 04:19:20.000000000 -0600
+++ b/gtools.h 2022-07-01 10:22:31.451579384 -0600
@@ -287,7 +287,7 @@ extern void arg_sequence(char**,char*,lo
extern void arg_sequence_min(char**,char*,long*,int,int,int*,char*);
extern void writerange(FILE*,int,long,long);
-extern void gt_abort(const char*);
+extern void gt_abort(const char*) __attribute__((noreturn));
extern char *stringcopy(char*);
extern boolean strhaschar(char*,int);
--- a/nauty.h 2021-09-03 04:19:53.000000000 -0600
+++ b/nauty.h 2022-07-01 10:21:58.819514878 -0600
@@ -1353,7 +1353,7 @@ int leftbit[] = {8,7,6,6,5,5,5,5,4,4,4
extern "C" {
#endif
-extern void alloc_error(const char*);
+extern void alloc_error(const char*) __attribute__((noreturn));
extern void breakout(int*,int*,int,int,int,set*,int);
extern boolean cheapautom(int*,int,boolean,int);
extern void doref(graph*,int*,int*,int,int*,int*,int*,set*,int*,
--- a/showg.c 2022-01-27 15:24:09.078428828 -0700
+++ b/showg.c 2022-07-01 10:22:53.852623673 -0600
@@ -216,7 +216,7 @@ static long ogf_linelen;
/************************************************************************/
-static void
+static void __attribute__((noreturn))
gt_abort(char *msg) /* Write message and halt. */
{
if (msg) fprintf(stderr,"%s",msg);

File diff suppressed because it is too large Load Diff

View File

@ -1,19 +1,16 @@
Description: debianization: nauty tools suite prefix Description: debianization: nauty tools suite prefix
Prepend nauty- to the names of the nauty tools, named gtools. Prepend nauty- to the names of the nauty tools, named gtools.
Author: Jerome Benoit <calculus@rezozer.net> Author: Jerome Benoit <calculus@rezozer.net>
Last-Update: 2017-11-24 Last-Update: 2016-03-19
--- a/Makefile.am --- a/Makefile.am
+++ b/Makefile.am +++ b/Makefile.am
@@ -25,114 +25,114 @@ @@ -21,94 +21,94 @@
bin_PROGRAMS = \ bin_PROGRAMS = \
dreadnaut \ dreadnaut \
\ \
- addedgeg \ - addedgeg \
- addptg \
- amtog \ - amtog \
- ancestorg \
- assembleg \
- biplabg \ - biplabg \
- catg \ - catg \
- complg \ - complg \
@ -26,12 +23,9 @@ Last-Update: 2017-11-24
- directg \ - directg \
- dretodot \ - dretodot \
- dretog \ - dretog \
- edgetransg \
- genbg \ - genbg \
- genbgL \ - genbgL \
- geng \ - geng \
- gengL \
- genposetg \
- genquarticg \ - genquarticg \
- genrang \ - genrang \
- genspecialg \ - genspecialg \
@ -42,25 +36,19 @@ Last-Update: 2017-11-24
- linegraphg \ - linegraphg \
- listg \ - listg \
- multig \ - multig \
- nbrhoodg \
- newedgeg \ - newedgeg \
- NRswitchg \ - NRswitchg \
- pickg \ - pickg \
- planarg \ - planarg \
- productg \
- ranlabg \ - ranlabg \
- shortg \ - shortg \
- showg \ - showg \
- subdivideg \ - subdivideg \
- twohamg \ - twohamg \
- underlyingg \
- vcolg \ - vcolg \
- watercluster2 \ - watercluster2 \
+ nauty-addedgeg \ + nauty-addedgeg \
+ nauty-addptg \
+ nauty-amtog \ + nauty-amtog \
+ nauty-ancestorg \
+ nauty-assembleg \
+ nauty-biplabg \ + nauty-biplabg \
+ nauty-catg \ + nauty-catg \
+ nauty-complg \ + nauty-complg \
@ -73,12 +61,9 @@ Last-Update: 2017-11-24
+ nauty-directg \ + nauty-directg \
+ nauty-dretodot \ + nauty-dretodot \
+ nauty-dretog \ + nauty-dretog \
+ nauty-edgetransg \
+ nauty-genbg \ + nauty-genbg \
+ nauty-genbgL \ + nauty-genbgL \
+ nauty-geng \ + nauty-geng \
+ nauty-gengL \
+ nauty-genposetg \
+ nauty-genquarticg \ + nauty-genquarticg \
+ nauty-genrang \ + nauty-genrang \
+ nauty-genspecialg \ + nauty-genspecialg \
@ -89,27 +74,22 @@ Last-Update: 2017-11-24
+ nauty-linegraphg \ + nauty-linegraphg \
+ nauty-listg \ + nauty-listg \
+ nauty-multig \ + nauty-multig \
+ nauty-nbrhoodg \
+ nauty-newedgeg \ + nauty-newedgeg \
+ nauty-NRswitchg \ + nauty-NRswitchg \
+ nauty-pickg \ + nauty-pickg \
+ nauty-planarg \ + nauty-planarg \
+ nauty-productg \
+ nauty-ranlabg \ + nauty-ranlabg \
+ nauty-shortg \ + nauty-shortg \
+ nauty-showg \ + nauty-showg \
+ nauty-subdivideg \ + nauty-subdivideg \
+ nauty-twohamg \ + nauty-twohamg \
+ nauty-underlyingg \
+ nauty-vcolg \ + nauty-vcolg \
+ nauty-watercluster2 \ + nauty-watercluster2 \
\ \
- bliss2dre \ - blisstog \
- dimacs2g \
- checks6 \ - checks6 \
- sumlines - sumlines
+ nauty-bliss2dre \ + nauty-blisstog \
+ nauty-dimacs2g \
+ nauty-checks6 \ + nauty-checks6 \
+ nauty-sumlines + nauty-sumlines
@ -117,10 +97,7 @@ Last-Update: 2017-11-24
dreadnaut.1 \ dreadnaut.1 \
\ \
- addedgeg.1 \ - addedgeg.1 \
- addptg.1 \
- amtog.1 \ - amtog.1 \
- ancestorg.1 \
- assembleg.1 \
- biplabg.1 \ - biplabg.1 \
- catg.1 \ - catg.1 \
- complg.1 \ - complg.1 \
@ -133,12 +110,9 @@ Last-Update: 2017-11-24
- directg.1 \ - directg.1 \
- dretodot.1 \ - dretodot.1 \
- dretog.1 \ - dretog.1 \
- edgetransg.1 \
- genbg.1 \ - genbg.1 \
- genbgL.1 \ - genbgL.1 \
- geng.1 \ - geng.1 \
- gengL.1 \
- genposetg.1 \
- genquarticg.1 \ - genquarticg.1 \
- genrang.1 \ - genrang.1 \
- genspecialg.1 \ - genspecialg.1 \
@ -149,25 +123,19 @@ Last-Update: 2017-11-24
- linegraphg.1 \ - linegraphg.1 \
- listg.1 \ - listg.1 \
- multig.1 \ - multig.1 \
- nbrhoodg.1 \
- newedgeg.1 \ - newedgeg.1 \
- NRswitchg.1 \ - NRswitchg.1 \
- pickg.1 \ - pickg.1 \
- planarg.1 \ - planarg.1 \
- productg.1 \
- ranlabg.1 \ - ranlabg.1 \
- shortg.1 \ - shortg.1 \
- showg.1 \ - showg.1 \
- subdivideg.1 \ - subdivideg.1 \
- twohamg.1 \ - twohamg.1 \
- underlyingg.1 \
- vcolg.1 \ - vcolg.1 \
- watercluster2.1 \ - watercluster2.1 \
+ nauty-addedgeg.1 \ + nauty-addedgeg.1 \
+ nauty-addptg.1 \
+ nauty-amtog.1 \ + nauty-amtog.1 \
+ nauty-ancestorg.1 \
+ nauty-assembleg.1 \
+ nauty-biplabg.1 \ + nauty-biplabg.1 \
+ nauty-catg.1 \ + nauty-catg.1 \
+ nauty-complg.1 \ + nauty-complg.1 \
@ -180,12 +148,9 @@ Last-Update: 2017-11-24
+ nauty-directg.1 \ + nauty-directg.1 \
+ nauty-dretodot.1 \ + nauty-dretodot.1 \
+ nauty-dretog.1 \ + nauty-dretog.1 \
+ nauty-edgetransg.1 \
+ nauty-genbg.1 \ + nauty-genbg.1 \
+ nauty-genbgL.1 \ + nauty-genbgL.1 \
+ nauty-geng.1 \ + nauty-geng.1 \
+ nauty-gengL.1 \
+ nauty-genposetg.1 \
+ nauty-genquarticg.1 \ + nauty-genquarticg.1 \
+ nauty-genrang.1 \ + nauty-genrang.1 \
+ nauty-genspecialg.1 \ + nauty-genspecialg.1 \
@ -196,34 +161,29 @@ Last-Update: 2017-11-24
+ nauty-linegraphg.1 \ + nauty-linegraphg.1 \
+ nauty-listg.1 \ + nauty-listg.1 \
+ nauty-multig.1 \ + nauty-multig.1 \
+ nauty-nbrhoodg.1 \
+ nauty-newedgeg.1 \ + nauty-newedgeg.1 \
+ nauty-NRswitchg.1 \ + nauty-NRswitchg.1 \
+ nauty-pickg.1 \ + nauty-pickg.1 \
+ nauty-planarg.1 \ + nauty-planarg.1 \
+ nauty-productg.1 \
+ nauty-ranlabg.1 \ + nauty-ranlabg.1 \
+ nauty-shortg.1 \ + nauty-shortg.1 \
+ nauty-showg.1 \ + nauty-showg.1 \
+ nauty-subdivideg.1 \ + nauty-subdivideg.1 \
+ nauty-twohamg.1 \ + nauty-twohamg.1 \
+ nauty-underlyingg.1 \
+ nauty-vcolg.1 \ + nauty-vcolg.1 \
+ nauty-watercluster2.1 \ + nauty-watercluster2.1 \
\ \
- bliss2dre.1 \ - blisstog.1 \
- dimacs2g.1 \
- checks6.1 \ - checks6.1 \
- sumlines.1 - sumlines.1
+ nauty-bliss2dre.1 \ + nauty-blisstog.1 \
+ nauty-dimacs2g.1 \
+ nauty-checks6.1 \ + nauty-checks6.1 \
+ nauty-sumlines.1 + nauty-sumlines.1
lib_LTLIBRARIES = \ lib_LTLIBRARIES = \
libnauty.la \ libnauty.la \
@@ -182,8 +182,8 @@ @@ -153,8 +153,8 @@
LD_LIBRARY_PATH=$(top_builddir)/.libs $(HELP2MAN) \ $(HELP2MAN) \
-s 1 \ -s 1 \
$(AM_H2MFLAGS) \ $(AM_H2MFLAGS) \
- -I $(top_srcdir)/man/$*.h2m \ - -I $(top_srcdir)/man/$*.h2m \
@ -233,16 +193,12 @@ Last-Update: 2017-11-24
-o $@ \ -o $@ \
$(top_builddir)/$< $(top_builddir)/$<
@@ -203,218 +203,218 @@ @@ -175,176 +175,176 @@
## short descriptions inspired from the basic functions of the programs as described ## short descriptions inspired from the basic functions of the programs as described
## in section `Utilities' (15) of the `Nauty and Traces User's Guide' (version 2.6) ## in section `Utilities' (15) of the `Nauty and Traces User's Guide' (version 2.6)
-dreadnaut_DESCRIPTION = "command line interface to nauty graph isomorphism library" dreadnaut_DESCRIPTION = "command line interface to nauty graph isomorphism library"
-addedgeg_DESCRIPTION = "add an edge in each possible way" -addedgeg_DESCRIPTION = "add an edge in each possible way"
-addptg_DESCRIPTION = "add additional vertices in various ways"
-amtog_DESCRIPTION = "read graphs in matrix format" -amtog_DESCRIPTION = "read graphs in matrix format"
-ancestorg_DESCRIPTION = "removes a specified number of final vertices"
-assembleg_DESCRIPTION = "assemble input graphs as components of output graphs"
-biplabg_DESCRIPTION = "label bipartite graphs so the colour classes are contiguous" -biplabg_DESCRIPTION = "label bipartite graphs so the colour classes are contiguous"
-catg_DESCRIPTION = "concatenate files of graphs" -catg_DESCRIPTION = "concatenate files of graphs"
-complg_DESCRIPTION = "complement graphs" -complg_DESCRIPTION = "complement graphs"
@ -255,12 +211,9 @@ Last-Update: 2017-11-24
-directg_DESCRIPTION = "generate small digraphs with given underlying graph" -directg_DESCRIPTION = "generate small digraphs with given underlying graph"
-dretodot_DESCRIPTION = "read graphs and initial coloring in dreadnaut format and write in dot format" -dretodot_DESCRIPTION = "read graphs and initial coloring in dreadnaut format and write in dot format"
-dretog_DESCRIPTION = "read graphs in dreadnaut format" -dretog_DESCRIPTION = "read graphs in dreadnaut format"
-edgetransg_DESCRIPTION = "select undirected graphs according to group action on vertices, edges and arcs"
-genbg_DESCRIPTION = "generate small bicoloured graphs" -genbg_DESCRIPTION = "generate small bicoloured graphs"
-genbgL_DESCRIPTION = "$(shell printf "%s %s" $(genbg_DESCRIPTION) "(L1 flavour)")" -genbgL_DESCRIPTION = "$(shell printf "%s %s" $(genbg_DESCRIPTION) "(L1 flavour)")"
-geng_DESCRIPTION = "generate small graphs" -geng_DESCRIPTION = "generate small graphs"
-gengL_DESCRIPTION = "$(shell printf "%s %s" $(geng_DESCRIPTION) "(L1 flavour)")"
-genposetg_DESCRIPTION = "generate posets"
-genquarticg_DESCRIPTION = "generate quartic graphs" -genquarticg_DESCRIPTION = "generate quartic graphs"
-genrang_DESCRIPTION = "generate random graphs" -genrang_DESCRIPTION = "generate random graphs"
-genspecialg_DESCRIPTION = "generate special graphs" -genspecialg_DESCRIPTION = "generate special graphs"
@ -270,31 +223,23 @@ Last-Update: 2017-11-24
-labelg_DESCRIPTION = "canonically label graphs" -labelg_DESCRIPTION = "canonically label graphs"
-linegraphg_DESCRIPTION = "compute the linegraphs of a file of graphs" -linegraphg_DESCRIPTION = "compute the linegraphs of a file of graphs"
-listg_DESCRIPTION = "display graphs in a variety of forms" -listg_DESCRIPTION = "display graphs in a variety of forms"
-nbrhoodg_DESCRIPTION = "extract neighbourhoods of vertices"
-multig_DESCRIPTION = "generate small multigraphs with given underlying graph" -multig_DESCRIPTION = "generate small multigraphs with given underlying graph"
-newedgeg_DESCRIPTION = "create new edges from pairs of non-adjacent edges in each possible way" -newedgeg_DESCRIPTION = "create new edges from pairs of non-adjacent edges in each possible way"
-NRswitchg_DESCRIPTION = "complement vertex edges" -NRswitchg_DESCRIPTION = "complement vertex edges"
-pickg_DESCRIPTION = "select graphs according to a variety of properties" -pickg_DESCRIPTION = "select graphs according to a variety of properties"
-planarg_DESCRIPTION = "test graphs for planarity and find embeddings or obstructions" -planarg_DESCRIPTION = "test graphs for planarity and find embeddings or obstructions"
-productg_DESCRIPTION = "product of two graphs (such as Cartesian product)"
-ranlabg_DESCRIPTION = "randomly relabel graphs" -ranlabg_DESCRIPTION = "randomly relabel graphs"
-shortg_DESCRIPTION = "remove isomorphs from a file of graphs" -shortg_DESCRIPTION = "remove isomorphs from a file of graphs"
-showg_DESCRIPTION = "$(shell printf "%s %s" $(listg_DESCRIPTION) "(stand-alone subset of listg)")" -showg_DESCRIPTION = "$(shell printf "%s %s" $(listg_DESCRIPTION) "(stand-alone subset of listg)")"
-subdivideg_DESCRIPTION = "compute the subdivision graphs of a file of graphs" -subdivideg_DESCRIPTION = "compute the subdivision graphs of a file of graphs"
-twohamg_DESCRIPTION = "split quartic graphs into two hamiltonian cycles" -twohamg_DESCRIPTION = "split quartic graphs into two hamiltonian cycles"
-underlyingg_DESCRIPTION = "take the underlying undirected graphs of a file of graphs"
-vcolg_DESCRIPTION = "colour the vertices of graphs in all distinct ways" -vcolg_DESCRIPTION = "colour the vertices of graphs in all distinct ways"
-watercluster2_DESCRIPTION = "$(shell printf "%s %s" $(directg_DESCRIPTION) "(faster alternative to directg)")" -watercluster2_DESCRIPTION = "$(shell printf "%s %s" $(directg_DESCRIPTION) "(faster alternative to directg)")"
-bliss2dre_DESCRIPTION = "convert files of graphs in Bliss/DIMACS format to stdout in sparse6 format" -blisstog_DESCRIPTION = "convert files of graphs in bliss format to stdout in sparse6 format"
-dimacs2g_DESCRIPTION = "convert files of graphs in DIMACS format to stdout in sparse6 format"
-checks6_DESCRIPTION = "check a file of graphs and optionally perform corrections" -checks6_DESCRIPTION = "check a file of graphs and optionally perform corrections"
-sumlines_DESCRIPTION = "sum lines matching specified graph formats" -sumlines_DESCRIPTION = "sum lines matching specified graph formats"
+dreadnaut_DESCRIPTION = "command line interface to nauty graph isomorphism library"
+nauty_addedgeg_DESCRIPTION = "add an edge in each possible way" +nauty_addedgeg_DESCRIPTION = "add an edge in each possible way"
+nauty_addptg_DESCRIPTION = "add additional vertices in various ways"
+nauty_amtog_DESCRIPTION = "read graphs in matrix format" +nauty_amtog_DESCRIPTION = "read graphs in matrix format"
+nauty_ancestorg_DESCRIPTION = "removes a specified number of final vertices"
+nauty_assembleg_DESCRIPTION = "assemble input graphs as components of output graphs"
+nauty_biplabg_DESCRIPTION = "label bipartite graphs so the colour classes are contiguous" +nauty_biplabg_DESCRIPTION = "label bipartite graphs so the colour classes are contiguous"
+nauty_catg_DESCRIPTION = "concatenate files of graphs" +nauty_catg_DESCRIPTION = "concatenate files of graphs"
+nauty_complg_DESCRIPTION = "complement graphs" +nauty_complg_DESCRIPTION = "complement graphs"
@ -307,12 +252,9 @@ Last-Update: 2017-11-24
+nauty_directg_DESCRIPTION = "generate small digraphs with given underlying graph" +nauty_directg_DESCRIPTION = "generate small digraphs with given underlying graph"
+nauty_dretodot_DESCRIPTION = "read graphs and initial coloring in dreadnaut format and write in dot format" +nauty_dretodot_DESCRIPTION = "read graphs and initial coloring in dreadnaut format and write in dot format"
+nauty_dretog_DESCRIPTION = "read graphs in dreadnaut format" +nauty_dretog_DESCRIPTION = "read graphs in dreadnaut format"
+nauty_edgetransg_DESCRIPTION = "select undirected graphs according to group action on vertices, edges and arcs"
+nauty_genbg_DESCRIPTION = "generate small bicoloured graphs" +nauty_genbg_DESCRIPTION = "generate small bicoloured graphs"
+nauty_genbgL_DESCRIPTION = "$(shell printf "%s %s" $(nauty_genbg_DESCRIPTION) "(L1 flavour)")" +nauty_genbgL_DESCRIPTION = "$(shell printf "%s %s" $(nauty_genbg_DESCRIPTION) "(L1 flavour)")"
+nauty_geng_DESCRIPTION = "generate small graphs" +nauty_geng_DESCRIPTION = "generate small graphs"
+nauty_gengL_DESCRIPTION = "$(shell printf "%s %s" $(nauty_geng_DESCRIPTION) "(L1 flavour)")"
+nauty_genposetg_DESCRIPTION = "generate posets"
+nauty_genquarticg_DESCRIPTION = "generate quartic graphs" +nauty_genquarticg_DESCRIPTION = "generate quartic graphs"
+nauty_genrang_DESCRIPTION = "generate random graphs" +nauty_genrang_DESCRIPTION = "generate random graphs"
+nauty_genspecialg_DESCRIPTION = "generate special graphs" +nauty_genspecialg_DESCRIPTION = "generate special graphs"
@ -322,32 +264,25 @@ Last-Update: 2017-11-24
+nauty_labelg_DESCRIPTION = "canonically label graphs" +nauty_labelg_DESCRIPTION = "canonically label graphs"
+nauty_linegraphg_DESCRIPTION = "compute the linegraphs of a file of graphs" +nauty_linegraphg_DESCRIPTION = "compute the linegraphs of a file of graphs"
+nauty_listg_DESCRIPTION = "display graphs in a variety of forms" +nauty_listg_DESCRIPTION = "display graphs in a variety of forms"
+nauty_nbrhoodg_DESCRIPTION = "extract neighbourhoods of vertices"
+nauty_multig_DESCRIPTION = "generate small multigraphs with given underlying graph" +nauty_multig_DESCRIPTION = "generate small multigraphs with given underlying graph"
+nauty_newedgeg_DESCRIPTION = "create new edges from pairs of non-adjacent edges in each possible way" +nauty_newedgeg_DESCRIPTION = "create new edges from pairs of non-adjacent edges in each possible way"
+nauty_NRswitchg_DESCRIPTION = "complement vertex edges" +nauty_NRswitchg_DESCRIPTION = "complement vertex edges"
+nauty_pickg_DESCRIPTION = "select graphs according to a variety of properties" +nauty_pickg_DESCRIPTION = "select graphs according to a variety of properties"
+nauty_planarg_DESCRIPTION = "test graphs for planarity and find embeddings or obstructions" +nauty_planarg_DESCRIPTION = "test graphs for planarity and find embeddings or obstructions"
+nauty_productg_DESCRIPTION = "product of two graphs (such as Cartesian product)"
+nauty_ranlabg_DESCRIPTION = "randomly relabel graphs" +nauty_ranlabg_DESCRIPTION = "randomly relabel graphs"
+nauty_shortg_DESCRIPTION = "remove isomorphs from a file of graphs" +nauty_shortg_DESCRIPTION = "remove isomorphs from a file of graphs"
+nauty_showg_DESCRIPTION = "$(shell printf "%s %s" $(nauty_listg_DESCRIPTION) "(stand-alone subset of listg)")" +nauty_showg_DESCRIPTION = "$(shell printf "%s %s" $(nauty_listg_DESCRIPTION) "(stand-alone subset of listg)")"
+nauty_subdivideg_DESCRIPTION = "compute the subdivision graphs of a file of graphs" +nauty_subdivideg_DESCRIPTION = "compute the subdivision graphs of a file of graphs"
+nauty_twohamg_DESCRIPTION = "split quartic graphs into two hamiltonian cycles" +nauty_twohamg_DESCRIPTION = "split quartic graphs into two hamiltonian cycles"
+nauty_underlyingg_DESCRIPTION = "take the underlying undirected graphs of a file of graphs"
+nauty_vcolg_DESCRIPTION = "colour the vertices of graphs in all distinct ways" +nauty_vcolg_DESCRIPTION = "colour the vertices of graphs in all distinct ways"
+nauty_watercluster2_DESCRIPTION = "$(shell printf "%s %s" $(nauty_directg_DESCRIPTION) "(faster alternative to directg)")" +nauty_watercluster2_DESCRIPTION = "$(shell printf "%s %s" $(nauty_directg_DESCRIPTION) "(faster alternative to directg)")"
+nauty_bliss2dre_DESCRIPTION = "convert files of graphs in Bliss/DIMACS format to stdout in sparse6 format" +nauty_blisstog_DESCRIPTION = "convert files of graphs in bliss format to stdout in sparse6 format"
+nauty_dimacs2g_DESCRIPTION = "convert files of graphs in DIMACS format to stdout in sparse6 format"
+nauty_checks6_DESCRIPTION = "check a file of graphs and optionally perform corrections" +nauty_checks6_DESCRIPTION = "check a file of graphs and optionally perform corrections"
+nauty_sumlines_DESCRIPTION = "sum lines matching specified graph formats" +nauty_sumlines_DESCRIPTION = "sum lines matching specified graph formats"
dreadnaut_CPPFLAGS = dreadnaut_CPPFLAGS =
-addedgeg_CPPFLAGS = -addedgeg_CPPFLAGS =
-addptg_CPPFLAGS =
-amtog_CPPFLAGS = -amtog_CPPFLAGS =
-ancestorg_CPPFLAGS =
-assembleg_CPPFLAGS =
-biplabg_CPPFLAGS = -biplabg_CPPFLAGS =
-catg_CPPFLAGS = -catg_CPPFLAGS =
-complg_CPPFLAGS = -complg_CPPFLAGS =
@ -357,49 +292,38 @@ Last-Update: 2017-11-24
-cubhamg_CPPFLAGS = -cubhamg_CPPFLAGS =
-deledgeg_CPPFLAGS = -deledgeg_CPPFLAGS =
-delptg_CPPFLAGS = -delptg_CPPFLAGS =
-dimacs2g_CPPFLAGS =
-directg_CPPFLAGS = -directg_CPPFLAGS =
-dretodot_CPPFLAGS = -dretodot_CPPFLAGS =
-dretog_CPPFLAGS = -dretog_CPPFLAGS =
-edgetransg_CPPFLAGS =
-genbg_CPPFLAGS = $(nautyW1_flavour_CPPFLAGS) -genbg_CPPFLAGS = $(nautyW1_flavour_CPPFLAGS)
-genbgL_CPPFLAGS = $(nautyL1_flavour_CPPFLAGS) -DMAXN1=30 -genbgL_CPPFLAGS = $(nautyL1_flavour_CPPFLAGS) -DMAXN1=30
-geng_CPPFLAGS = $(nautyW1_flavour_CPPFLAGS) -geng_CPPFLAGS = $(nautyW1_flavour_CPPFLAGS)
-gengL_CPPFLAGS = $(nautyL1_flavour_CPPFLAGS)
-genposetg_CPPFLAGS = $(nautyS1_flavour_CPPFLAGS)
-genquarticg_CPPFLAGS = $(nautyL1_flavour_CPPFLAGS) -genquarticg_CPPFLAGS = $(nautyL1_flavour_CPPFLAGS)
-genrang_CPPFLAGS = -genrang_CPPFLAGS =
-genspecialg_CPPFLAGS = -genspecialg_CPPFLAGS =
-gentourng_CPPFLAGS = $(nautyW0_flavour_CPPFLAGS) -DMAXN=24 -gentourng_CPPFLAGS = -DMAXN=24
-gentreeg_CPPFLAGS = -gentreeg_CPPFLAGS =
-hamheuristic_CPPFLAGS = -hamheuristic_CPPFLAGS =
-labelg_CPPFLAGS = -labelg_CPPFLAGS =
-linegraphg_CPPFLAGS = -linegraphg_CPPFLAGS =
-listg_CPPFLAGS = -listg_CPPFLAGS =
-multig_CPPFLAGS = -multig_CPPFLAGS =
-nbrhoodg_CPPFLAGS =
-newedgeg_CPPFLAGS = -newedgeg_CPPFLAGS =
-NRswitchg_CPPFLAGS = -NRswitchg_CPPFLAGS =
-pickg_CPPFLAGS = -pickg_CPPFLAGS =
-planarg_CPPFLAGS = -planarg_CPPFLAGS =
-productg_CPPFLAGS =
-ranlabg_CPPFLAGS = -ranlabg_CPPFLAGS =
-shortg_CPPFLAGS = -shortg_CPPFLAGS =
-showg_CPPFLAGS = -showg_CPPFLAGS =
-subdivideg_CPPFLAGS = -subdivideg_CPPFLAGS =
-twohamg_CPPFLAGS = -twohamg_CPPFLAGS =
-underlyingg_CPPFLAGS =
-vcolg_CPPFLAGS = -vcolg_CPPFLAGS =
-watercluster2_CPPFLAGS = $(nautyW1_flavour_CPPFLAGS) -watercluster2_CPPFLAGS = -DMAXN=32
-bliss2dre_CPPFLAGS = -blisstog_CPPFLAGS = $(ZLIB_CFLAGS)
-dimacs2g_CPPFLAGS = $(ZLIB_CFLAGS)
-checks6_CPPFLAGS = -checks6_CPPFLAGS =
-sumlines_CPPFLAGS = $(GMP_CFLAGS) -sumlines_CPPFLAGS = $(GMP_CFLAGS)
+nauty_addedgeg_CPPFLAGS = +nauty_addedgeg_CPPFLAGS =
+nauty_addptg_CPPFLAGS =
+nauty_amtog_CPPFLAGS = +nauty_amtog_CPPFLAGS =
+nauty_ancestorg_CPPFLAGS =
+nauty_assembleg_CPPFLAGS =
+nauty_biplabg_CPPFLAGS = +nauty_biplabg_CPPFLAGS =
+nauty_catg_CPPFLAGS = +nauty_catg_CPPFLAGS =
+nauty_complg_CPPFLAGS = +nauty_complg_CPPFLAGS =
@ -409,51 +333,40 @@ Last-Update: 2017-11-24
+nauty_cubhamg_CPPFLAGS = +nauty_cubhamg_CPPFLAGS =
+nauty_deledgeg_CPPFLAGS = +nauty_deledgeg_CPPFLAGS =
+nauty_delptg_CPPFLAGS = +nauty_delptg_CPPFLAGS =
+nauty_dimacs2g_CPPFLAGS =
+nauty_directg_CPPFLAGS = +nauty_directg_CPPFLAGS =
+nauty_dretodot_CPPFLAGS = +nauty_dretodot_CPPFLAGS =
+nauty_dretog_CPPFLAGS = +nauty_dretog_CPPFLAGS =
+nauty_edgetransg_CPPFLAGS =
+nauty_genbg_CPPFLAGS = $(nautyW1_flavour_CPPFLAGS) +nauty_genbg_CPPFLAGS = $(nautyW1_flavour_CPPFLAGS)
+nauty_genbgL_CPPFLAGS = $(nautyL1_flavour_CPPFLAGS) -DMAXN1=30 +nauty_genbgL_CPPFLAGS = $(nautyL1_flavour_CPPFLAGS) -DMAXN1=30
+nauty_geng_CPPFLAGS = $(nautyW1_flavour_CPPFLAGS) +nauty_geng_CPPFLAGS = $(nautyW1_flavour_CPPFLAGS)
+nauty_gengL_CPPFLAGS = $(nautyL1_flavour_CPPFLAGS)
+nauty_genposetg_CPPFLAGS = $(nautyS1_flavour_CPPFLAGS)
+nauty_genquarticg_CPPFLAGS = $(nautyL1_flavour_CPPFLAGS) +nauty_genquarticg_CPPFLAGS = $(nautyL1_flavour_CPPFLAGS)
+nauty_genrang_CPPFLAGS = +nauty_genrang_CPPFLAGS =
+nauty_genspecialg_CPPFLAGS = +nauty_genspecialg_CPPFLAGS =
+nauty_gentourng_CPPFLAGS = $(nautyW0_flavour_CPPFLAGS) -DMAXN=24 +nauty_gentourng_CPPFLAGS = -DMAXN=24
+nauty_gentreeg_CPPFLAGS = +nauty_gentreeg_CPPFLAGS =
+nauty_hamheuristic_CPPFLAGS = +nauty_hamheuristic_CPPFLAGS =
+nauty_labelg_CPPFLAGS = +nauty_labelg_CPPFLAGS =
+nauty_linegraphg_CPPFLAGS = +nauty_linegraphg_CPPFLAGS =
+nauty_listg_CPPFLAGS = +nauty_listg_CPPFLAGS =
+nauty_multig_CPPFLAGS = +nauty_multig_CPPFLAGS =
+nauty_nbrhoodg_CPPFLAGS =
+nauty_newedgeg_CPPFLAGS = +nauty_newedgeg_CPPFLAGS =
+nauty_NRswitchg_CPPFLAGS = +nauty_NRswitchg_CPPFLAGS =
+nauty_pickg_CPPFLAGS = +nauty_pickg_CPPFLAGS =
+nauty_planarg_CPPFLAGS = +nauty_planarg_CPPFLAGS =
+nauty_productg_CPPFLAGS =
+nauty_ranlabg_CPPFLAGS = +nauty_ranlabg_CPPFLAGS =
+nauty_shortg_CPPFLAGS = +nauty_shortg_CPPFLAGS =
+nauty_showg_CPPFLAGS = +nauty_showg_CPPFLAGS =
+nauty_subdivideg_CPPFLAGS = +nauty_subdivideg_CPPFLAGS =
+nauty_twohamg_CPPFLAGS = +nauty_twohamg_CPPFLAGS =
+nauty_underlyingg_CPPFLAGS =
+nauty_vcolg_CPPFLAGS = +nauty_vcolg_CPPFLAGS =
+nauty_watercluster2_CPPFLAGS = $(nautyW1_flavour_CPPFLAGS) +nauty_watercluster2_CPPFLAGS = -DMAXN=32
+nauty_bliss2dre_CPPFLAGS = +nauty_blisstog_CPPFLAGS = $(ZLIB_CFLAGS)
+nauty_dimacs2g_CPPFLAGS = $(ZLIB_CFLAGS)
+nauty_checks6_CPPFLAGS = +nauty_checks6_CPPFLAGS =
+nauty_sumlines_CPPFLAGS = $(GMP_CFLAGS) +nauty_sumlines_CPPFLAGS = $(GMP_CFLAGS)
dreadnaut_SOURCES = dreadnaut.c dreadnaut_SOURCES = dreadnaut.c
-addedgeg_SOURCES = addedgeg.c -addedgeg_SOURCES = addedgeg.c
-addptg_SOURCES = addptg.c
-amtog_SOURCES = amtog.c -amtog_SOURCES = amtog.c
-ancestorg_SOURCES = ancestorg.c
-assembleg_SOURCES = assembleg.c
-biplabg_SOURCES = biplabg.c -biplabg_SOURCES = biplabg.c
-catg_SOURCES = catg.c -catg_SOURCES = catg.c
-complg_SOURCES = complg.c -complg_SOURCES = complg.c
@ -466,12 +379,9 @@ Last-Update: 2017-11-24
-directg_SOURCES = directg.c -directg_SOURCES = directg.c
-dretodot_SOURCES = dretodot.c -dretodot_SOURCES = dretodot.c
-dretog_SOURCES = dretog.c -dretog_SOURCES = dretog.c
-edgetransg_SOURCES = edgetransg.c
-genbg_SOURCES = genbg.c -genbg_SOURCES = genbg.c
-genbgL_SOURCES = genbg.c -genbgL_SOURCES = genbg.c
-geng_SOURCES = geng.c -geng_SOURCES = geng.c
-gengL_SOURCES = geng.c
-genposetg_SOURCES = genposetg.c
-genquarticg_SOURCES = genquarticg.c -genquarticg_SOURCES = genquarticg.c
-genrang_SOURCES = genrang.c -genrang_SOURCES = genrang.c
-genspecialg_SOURCES = genspecialg.c -genspecialg_SOURCES = genspecialg.c
@ -482,29 +392,22 @@ Last-Update: 2017-11-24
-linegraphg_SOURCES = linegraphg.c -linegraphg_SOURCES = linegraphg.c
-listg_SOURCES = listg.c -listg_SOURCES = listg.c
-multig_SOURCES = multig.c -multig_SOURCES = multig.c
-nbrhoodg_SOURCES = nbrhoodg.c
-newedgeg_SOURCES = newedgeg.c -newedgeg_SOURCES = newedgeg.c
-NRswitchg_SOURCES = NRswitchg.c -NRswitchg_SOURCES = NRswitchg.c
-pickg_SOURCES = testg.c -pickg_SOURCES = testg.c
-planarg_SOURCES = planarg.c planarity.c -planarg_SOURCES = planarg.c planarity.c
-productg_SOURCES = productg.c
-ranlabg_SOURCES = ranlabg.c -ranlabg_SOURCES = ranlabg.c
-shortg_SOURCES = shortg.c -shortg_SOURCES = shortg.c
-showg_SOURCES = showg.c -showg_SOURCES = showg.c
-subdivideg_SOURCES = subdivideg.c -subdivideg_SOURCES = subdivideg.c
-twohamg_SOURCES = twohamg.c -twohamg_SOURCES = twohamg.c
-underlyingg_SOURCES = underlyingg.c
-vcolg_SOURCES = vcolg.c -vcolg_SOURCES = vcolg.c
-watercluster2_SOURCES = watercluster2.c -watercluster2_SOURCES = watercluster2.c
-bliss2dre_SOURCES = bliss2dre.c -blisstog_SOURCES = blisstog.c
-dimacs2g_SOURCES = dimacs2g.c
-checks6_SOURCES = checks6.c -checks6_SOURCES = checks6.c
-sumlines_SOURCES = sumlines.c -sumlines_SOURCES = sumlines.c
+nauty_addedgeg_SOURCES = addedgeg.c +nauty_addedgeg_SOURCES = addedgeg.c
+nauty_addptg_SOURCES = addptg.c
+nauty_amtog_SOURCES = amtog.c +nauty_amtog_SOURCES = amtog.c
+nauty_ancestorg_SOURCES = ancestorg.c
+nauty_assembleg_SOURCES = assembleg.c
+nauty_biplabg_SOURCES = biplabg.c +nauty_biplabg_SOURCES = biplabg.c
+nauty_catg_SOURCES = catg.c +nauty_catg_SOURCES = catg.c
+nauty_complg_SOURCES = complg.c +nauty_complg_SOURCES = complg.c
@ -517,12 +420,9 @@ Last-Update: 2017-11-24
+nauty_directg_SOURCES = directg.c +nauty_directg_SOURCES = directg.c
+nauty_dretodot_SOURCES = dretodot.c +nauty_dretodot_SOURCES = dretodot.c
+nauty_dretog_SOURCES = dretog.c +nauty_dretog_SOURCES = dretog.c
+nauty_edgetransg_SOURCES = edgetransg.c
+nauty_genbg_SOURCES = genbg.c +nauty_genbg_SOURCES = genbg.c
+nauty_genbgL_SOURCES = genbg.c +nauty_genbgL_SOURCES = genbg.c
+nauty_geng_SOURCES = geng.c +nauty_geng_SOURCES = geng.c
+nauty_gengL_SOURCES = geng.c
+nauty_genposetg_SOURCES = genposetg.c
+nauty_genquarticg_SOURCES = genquarticg.c +nauty_genquarticg_SOURCES = genquarticg.c
+nauty_genrang_SOURCES = genrang.c +nauty_genrang_SOURCES = genrang.c
+nauty_genspecialg_SOURCES = genspecialg.c +nauty_genspecialg_SOURCES = genspecialg.c
@ -533,31 +433,24 @@ Last-Update: 2017-11-24
+nauty_linegraphg_SOURCES = linegraphg.c +nauty_linegraphg_SOURCES = linegraphg.c
+nauty_listg_SOURCES = listg.c +nauty_listg_SOURCES = listg.c
+nauty_multig_SOURCES = multig.c +nauty_multig_SOURCES = multig.c
+nauty_nbrhoodg_SOURCES = nbrhoodg.c
+nauty_newedgeg_SOURCES = newedgeg.c +nauty_newedgeg_SOURCES = newedgeg.c
+nauty_NRswitchg_SOURCES = NRswitchg.c +nauty_NRswitchg_SOURCES = NRswitchg.c
+nauty_pickg_SOURCES = testg.c +nauty_pickg_SOURCES = testg.c
+nauty_planarg_SOURCES = planarg.c planarity.c +nauty_planarg_SOURCES = planarg.c planarity.c
+nauty_productg_SOURCES = productg.c
+nauty_ranlabg_SOURCES = ranlabg.c +nauty_ranlabg_SOURCES = ranlabg.c
+nauty_shortg_SOURCES = shortg.c +nauty_shortg_SOURCES = shortg.c
+nauty_showg_SOURCES = showg.c +nauty_showg_SOURCES = showg.c
+nauty_subdivideg_SOURCES = subdivideg.c +nauty_subdivideg_SOURCES = subdivideg.c
+nauty_twohamg_SOURCES = twohamg.c +nauty_twohamg_SOURCES = twohamg.c
+nauty_underlyingg_SOURCES = underlyingg.c
+nauty_vcolg_SOURCES = vcolg.c +nauty_vcolg_SOURCES = vcolg.c
+nauty_watercluster2_SOURCES = watercluster2.c +nauty_watercluster2_SOURCES = watercluster2.c
+nauty_bliss2dre_SOURCES = bliss2dre.c +nauty_blisstog_SOURCES = blisstog.c
+nauty_dimacs2g_SOURCES = dimacs2g.c
+nauty_checks6_SOURCES = checks6.c +nauty_checks6_SOURCES = checks6.c
+nauty_sumlines_SOURCES = sumlines.c +nauty_sumlines_SOURCES = sumlines.c
-dreadnaut_LDADD = $(NAUTY_LDADD) dreadnaut_LDADD = $(NAUTY_LDADD)
-addedgeg_LDADD = $(NAUTY_LDADD) -addedgeg_LDADD = $(NAUTY_LDADD)
-addptg_LDADD = $(NAUTY_LDADD)
-amtog_LDADD = $(NAUTY_LDADD) -amtog_LDADD = $(NAUTY_LDADD)
-ancestorg_LDADD = $(NAUTY_LDADD)
-assembleg_LDADD = $(NAUTY_LDADD)
-biplabg_LDADD = $(NAUTY_LDADD) -biplabg_LDADD = $(NAUTY_LDADD)
-catg_LDADD = $(NAUTY_LDADD) -catg_LDADD = $(NAUTY_LDADD)
-complg_LDADD = $(NAUTY_LDADD) -complg_LDADD = $(NAUTY_LDADD)
@ -570,46 +463,35 @@ Last-Update: 2017-11-24
-directg_LDADD = $(NAUTY_LDADD) -directg_LDADD = $(NAUTY_LDADD)
-dretodot_LDADD = $(NAUTY_LDADD) $(LIBM) -dretodot_LDADD = $(NAUTY_LDADD) $(LIBM)
-dretog_LDADD = $(NAUTY_LDADD) -dretog_LDADD = $(NAUTY_LDADD)
-edgetransg_LDADD = $(NAUTY_LDADD)
-genbg_LDADD = $(NAUTYW1_LDADD) -genbg_LDADD = $(NAUTYW1_LDADD)
-genbgL_LDADD = $(NAUTYL1_LDADD) -genbgL_LDADD = $(NAUTYL1_LDADD)
-geng_LDADD = $(NAUTYW1_LDADD) -geng_LDADD = $(NAUTYW1_LDADD)
-gengL_LDADD = $(NAUTYL1_LDADD)
-genposetg_LDADD = $(NAUTYS1_LDADD)
-genquarticg_LDADD = $(NAUTYL1_LDADD) -genquarticg_LDADD = $(NAUTYL1_LDADD)
-genrang_LDADD = $(NAUTY_LDADD) -genrang_LDADD = $(NAUTY_LDADD)
-genspecialg_LDADD = $(NAUTY_LDADD) -genspecialg_LDADD = $(NAUTY_LDADD)
-gentourng_LDADD = $(NAUTYW0_LDADD) -gentourng_LDADD = $(NAUTY_LDADD)
-gentreeg_LDADD = $(NAUTY_LDADD) -gentreeg_LDADD = $(NAUTY_LDADD)
-hamheuristic_LDADD = $(NAUTY_LDADD) -hamheuristic_LDADD = $(NAUTY_LDADD)
-labelg_LDADD = $(NAUTY_LDADD) -labelg_LDADD = $(NAUTY_LDADD)
-linegraphg_LDADD = $(NAUTY_LDADD) -linegraphg_LDADD = $(NAUTY_LDADD)
-listg_LDADD = $(NAUTY_LDADD) -listg_LDADD = $(NAUTY_LDADD)
-multig_LDADD = $(NAUTY_LDADD) -multig_LDADD = $(NAUTY_LDADD)
-nbrhoodg_LDADD = $(NAUTY_LDADD)
-newedgeg_LDADD = $(NAUTY_LDADD) -newedgeg_LDADD = $(NAUTY_LDADD)
-NRswitchg_LDADD = $(NAUTY_LDADD) -NRswitchg_LDADD = $(NAUTY_LDADD)
-pickg_LDADD = $(NAUTY_LDADD) -pickg_LDADD = $(NAUTY_LDADD)
-planarg_LDADD = $(NAUTY_LDADD) -planarg_LDADD = $(NAUTY_LDADD)
-productg_LDADD = $(NAUTY_LDADD)
-ranlabg_LDADD = $(NAUTY_LDADD) -ranlabg_LDADD = $(NAUTY_LDADD)
-shortg_LDADD = $(NAUTY_LDADD) -shortg_LDADD = $(NAUTY_LDADD)
-showg_LDADD = -showg_LDADD =
-subdivideg_LDADD = $(NAUTY_LDADD) -subdivideg_LDADD = $(NAUTY_LDADD)
-twohamg_LDADD = $(NAUTY_LDADD) -twohamg_LDADD = $(NAUTY_LDADD)
-underlyingg_LDADD = $(NAUTY_LDADD)
-vcolg_LDADD = $(NAUTY_LDADD) -vcolg_LDADD = $(NAUTY_LDADD)
-watercluster2_LDADD = $(NAUTYW1_LDADD) -watercluster2_LDADD = $(NAUTY_LDADD)
-bliss2dre_LDADD = $(NAUTY_LDADD) -blisstog_LDADD = $(NAUTY_LDADD) $(ZLIB_LIBS)
-dimacs2g_LDADD = $(NAUTY_LDADD) $(ZLIB_LIBS)
-checks6_LDADD = $(NAUTY_LDADD) -checks6_LDADD = $(NAUTY_LDADD)
-sumlines_LDADD = $(GMP_LIBS) -sumlines_LDADD = $(GMP_LIBS)
+dreadnaut_LDADD = $(NAUTY_LDADD)
+nauty_addedgeg_LDADD = $(NAUTY_LDADD) +nauty_addedgeg_LDADD = $(NAUTY_LDADD)
+nauty_addptg_LDADD = $(NAUTY_LDADD)
+nauty_amtog_LDADD = $(NAUTY_LDADD) +nauty_amtog_LDADD = $(NAUTY_LDADD)
+nauty_ancestorg_LDADD = $(NAUTY_LDADD)
+nauty_assembleg_LDADD = $(NAUTY_LDADD)
+nauty_biplabg_LDADD = $(NAUTY_LDADD) +nauty_biplabg_LDADD = $(NAUTY_LDADD)
+nauty_catg_LDADD = $(NAUTY_LDADD) +nauty_catg_LDADD = $(NAUTY_LDADD)
+nauty_complg_LDADD = $(NAUTY_LDADD) +nauty_complg_LDADD = $(NAUTY_LDADD)
@ -622,38 +504,31 @@ Last-Update: 2017-11-24
+nauty_directg_LDADD = $(NAUTY_LDADD) +nauty_directg_LDADD = $(NAUTY_LDADD)
+nauty_dretodot_LDADD = $(NAUTY_LDADD) $(LIBM) +nauty_dretodot_LDADD = $(NAUTY_LDADD) $(LIBM)
+nauty_dretog_LDADD = $(NAUTY_LDADD) +nauty_dretog_LDADD = $(NAUTY_LDADD)
+nauty_edgetransg_LDADD = $(NAUTY_LDADD)
+nauty_genbg_LDADD = $(NAUTYW1_LDADD) +nauty_genbg_LDADD = $(NAUTYW1_LDADD)
+nauty_genbgL_LDADD = $(NAUTYL1_LDADD) +nauty_genbgL_LDADD = $(NAUTYL1_LDADD)
+nauty_geng_LDADD = $(NAUTYW1_LDADD) +nauty_geng_LDADD = $(NAUTYW1_LDADD)
+nauty_gengL_LDADD = $(NAUTYL1_LDADD)
+nauty_genposetg_LDADD = $(NAUTYS1_LDADD)
+nauty_genquarticg_LDADD = $(NAUTYL1_LDADD) +nauty_genquarticg_LDADD = $(NAUTYL1_LDADD)
+nauty_genrang_LDADD = $(NAUTY_LDADD) +nauty_genrang_LDADD = $(NAUTY_LDADD)
+nauty_genspecialg_LDADD = $(NAUTY_LDADD) +nauty_genspecialg_LDADD = $(NAUTY_LDADD)
+nauty_gentourng_LDADD = $(NAUTYW0_LDADD) +nauty_gentourng_LDADD = $(NAUTY_LDADD)
+nauty_gentreeg_LDADD = $(NAUTY_LDADD) +nauty_gentreeg_LDADD = $(NAUTY_LDADD)
+nauty_hamheuristic_LDADD = $(NAUTY_LDADD) +nauty_hamheuristic_LDADD = $(NAUTY_LDADD)
+nauty_labelg_LDADD = $(NAUTY_LDADD) +nauty_labelg_LDADD = $(NAUTY_LDADD)
+nauty_linegraphg_LDADD = $(NAUTY_LDADD) +nauty_linegraphg_LDADD = $(NAUTY_LDADD)
+nauty_listg_LDADD = $(NAUTY_LDADD) +nauty_listg_LDADD = $(NAUTY_LDADD)
+nauty_multig_LDADD = $(NAUTY_LDADD) +nauty_multig_LDADD = $(NAUTY_LDADD)
+nauty_nbrhoodg_LDADD = $(NAUTY_LDADD)
+nauty_newedgeg_LDADD = $(NAUTY_LDADD) +nauty_newedgeg_LDADD = $(NAUTY_LDADD)
+nauty_NRswitchg_LDADD = $(NAUTY_LDADD) +nauty_NRswitchg_LDADD = $(NAUTY_LDADD)
+nauty_pickg_LDADD = $(NAUTY_LDADD) +nauty_pickg_LDADD = $(NAUTY_LDADD)
+nauty_planarg_LDADD = $(NAUTY_LDADD) +nauty_planarg_LDADD = $(NAUTY_LDADD)
+nauty_productg_LDADD = $(NAUTY_LDADD)
+nauty_ranlabg_LDADD = $(NAUTY_LDADD) +nauty_ranlabg_LDADD = $(NAUTY_LDADD)
+nauty_shortg_LDADD = $(NAUTY_LDADD) +nauty_shortg_LDADD = $(NAUTY_LDADD)
+nauty_showg_LDADD = +nauty_showg_LDADD =
+nauty_subdivideg_LDADD = $(NAUTY_LDADD) +nauty_subdivideg_LDADD = $(NAUTY_LDADD)
+nauty_twohamg_LDADD = $(NAUTY_LDADD) +nauty_twohamg_LDADD = $(NAUTY_LDADD)
+nauty_underlyingg_LDADD = $(NAUTY_LDADD)
+nauty_vcolg_LDADD = $(NAUTY_LDADD) +nauty_vcolg_LDADD = $(NAUTY_LDADD)
+nauty_watercluster2_LDADD = $(NAUTYW1_LDADD) +nauty_watercluster2_LDADD = $(NAUTY_LDADD)
+nauty_bliss2dre_LDADD = $(NAUTY_LDADD) +nauty_blisstog_LDADD = $(NAUTY_LDADD) $(ZLIB_LIBS)
+nauty_dimacs2g_LDADD = $(NAUTY_LDADD) $(ZLIB_LIBS)
+nauty_checks6_LDADD = $(NAUTY_LDADD) +nauty_checks6_LDADD = $(NAUTY_LDADD)
+nauty_sumlines_LDADD = $(GMP_LIBS) +nauty_sumlines_LDADD = $(GMP_LIBS)
@ -670,7 +545,7 @@ Last-Update: 2017-11-24
fi fi
LC_COLLATE=C sort $out2 >>$out1 LC_COLLATE=C sort $out2 >>$out1
@@ -97,18 +97,18 @@ @@ -82,13 +82,13 @@
runonetest ./dreadtest4K nautest2.dre nautest2a.ans runonetest ./dreadtest4K nautest2.dre nautest2a.ans
runonetest "./dreadtest4K -o As" nautest2.dre nautest2b.ans runonetest "./dreadtest4K -o As" nautest2.dre nautest2b.ans
@ -680,24 +555,14 @@ Last-Update: 2017-11-24
-runonetest "./gentourng -q -z 8 | ./pickg -T3" "" nautestd.ans -runonetest "./gentourng -q -z 8 | ./pickg -T3" "" nautestd.ans
-runonetest "./gentreeg -q -s 18 | ./countg -z6 --o" "" nauteste.ans -runonetest "./gentreeg -q -s 18 | ./countg -z6 --o" "" nauteste.ans
-runonetest "./geng -c -q 8 8 | ./directg -q -o | ./converseg -q | ./labelg -q" "" nautestf.ans -runonetest "./geng -c -q 8 8 | ./directg -q -o | ./converseg -q | ./labelg -q" "" nautestf.ans
-runonetest "./genbg -q 4 3 10 | ./vcolg -m5 -T" "" nautestg.ans -runonetest "./genbg -q 4 3 10 | ./vcolg -m6 -T" "" nautestg.ans
-runonetest "./genposetg 8 o q" "" nautesth.ans
-runonetest "./genspecialg -q -c12 -b11,4 -P5,2 -T3,4,5" "" nautesti.ans
-runonetest "./genspecialg -qz -c12 -b11,4 -P5,2 -T3,4,5" "" nautestj.ans
-runonetest "./gentreeg -q 3:4 | ./assembleg -n4:12L -cq" "" nautestk.ans
-runonetest "./geng -q 10 10 | ./countg --WTKcc,ee,hk" "" nautestl.ans
+runonetest "./nauty-geng -ud1D7t 11" "" nautesta.ans +runonetest "./nauty-geng -ud1D7t 11" "" nautesta.ans
+runonetest "./nauty-geng -cd1f 10 | ./nauty-labelg -q" "" nautestb.ans +runonetest "./nauty-geng -cd1f 10 | ./nauty-labelg -q" "" nautestb.ans
+runonetest "./nauty-genrang -r3 114 100 | ./nauty-countg --nedDr -q" "" nautestc.ans +runonetest "./nauty-genrang -r3 114 100 | ./nauty-countg --nedDr -q" "" nautestc.ans
+runonetest "./nauty-gentourng -q -z 8 | ./nauty-pickg -T3" "" nautestd.ans +runonetest "./nauty-gentourng -q -z 8 | ./nauty-pickg -T3" "" nautestd.ans
+runonetest "./nauty-gentreeg -q -s 18 | ./nauty-countg -z6 --o" "" nauteste.ans +runonetest "./nauty-gentreeg -q -s 18 | ./nauty-countg -z6 --o" "" nauteste.ans
+runonetest "./nauty-geng -c -q 8 8 | ./nauty-directg -q -o | ./nauty-converseg -q | ./nauty-labelg -q" "" nautestf.ans +runonetest "./nauty-geng -c -q 8 8 | ./nauty-directg -q -o | ./nauty-converseg -q | ./nauty-labelg -q" "" nautestf.ans
+runonetest "./nauty-genbg -q 4 3 10 | ./nauty-vcolg -m5 -T" "" nautestg.ans +runonetest "./nauty-genbg -q 4 3 10 | ./nauty-vcolg -m6 -T" "" nautestg.ans
+runonetest "./nauty-genposetg 8 o q" "" nautesth.ans
+runonetest "./nauty-genspecialg -q -c12 -b11,4 -P5,2 -T3,4,5" "" nautesti.ans
+runonetest "./nauty-genspecialg -qz -c12 -b11,4 -P5,2 -T3,4,5" "" nautestj.ans
+runonetest "./nauty-gentreeg -q 3:4 | ./nauty-assembleg -n4:12L -cq" "" nautestk.ans
+runonetest "./nauty-geng -q 10 10 | ./nauty-countg --WTKcc,ee,hk" "" nautestl.ans
echo " " echo " "

File diff suppressed because it is too large Load Diff

View File

@ -1,545 +0,0 @@
--- a/amtog.c
+++ b/amtog.c
@@ -42,7 +42,7 @@ main(int argc, char *argv[])
{
int m,n,outdigit;
int argnum,i,j,outcode,val;
- int unsym0,unsym1,loop0;
+ int unsym0=0,unsym1=0,loop0=0;
char *arg,sw,ochar;
boolean badargs;
boolean nswitch,sswitch,gswitch,hswitch,qswitch;
--- a/bliss2dre.c
+++ b/bliss2dre.c
@@ -39,7 +39,7 @@ main(int argc, char *argv[])
{
int n,c;
unsigned long ne,j;
- vpair *elist,*vlist;
+ vpair *elist=NULL,*vlist=NULL;
int haven;
int i,v,w;
int haveptn;
--- a/complg.c
+++ b/complg.c
@@ -74,7 +74,7 @@ main(int argc, char *argv[])
int j,m,n,argnum;
int codetype,outcode;
graph *g;
- size_t ii,ned,nedc,nn,loops,loopsc,gwords;
+ size_t ii,ned,nedc,nn,loops,loopsc=0,gwords;
nauty_counter nin;
char *arg,sw;
static graph *gq;
--- a/cubhamg.c
+++ b/cubhamg.c
@@ -1961,7 +1961,7 @@ main(int argc, char *argv[])
double t0,t1;
cubgraph cub;
char *arg;
- nauty_counter count,mincount,maxcount,totalcount;
+ nauty_counter count,mincount=0,maxcount=0,totalcount;
int codetype;
HELP; PUTVERSION;
--- a/dreadnaut.c
+++ b/dreadnaut.c
@@ -389,7 +389,7 @@ main(int argc, char *argv[])
unsigned long uli;
size_t sli;
set *gp;
- double timebefore,timeafter,mintime;
+ double timebefore=0.0,timeafter=0.0,mintime;
char filename[515];
int sgn,sgorg,nperm;
int multiplicity,actmult;
--- a/dretodot.c
+++ b/dretodot.c
@@ -252,7 +252,7 @@ double ComputeFontsize(int vtx) {
int
main(int argc, char *argv[])
{
- int m, n, c, a, i, j, k, end, n_count;
+ int m=0, n, c, a, i, j, k, end, n_count;
size_t j1, e_count;
int argnum, initorg, cell, numCol, modcode, vtx, refcode, MaxV, MaxE;
char *arg, sw;
@@ -266,10 +266,10 @@ main(int argc, char *argv[])
char model[10];
int numcells, flind, indivtx;
long minil, maxil;
- double hsize, vsize, fsize;
+ double hsize, vsize, fsize=0.0;
sparsegraph g, g1;
list *liststart, *listend;
- int nodescale, distance, StInd, StIndDist, RnkInd, RnkIndDist;
+ int nodescale, distance, StInd=0, StIndDist, RnkInd, RnkIndDist=0;
HELP; PUTVERSION;
--- a/genbg.c
+++ b/genbg.c
@@ -1192,7 +1192,7 @@ genextend(graph *g, int n2, int *deg, in
graph gx[MAXN];
int degx[MAXN];
boolean rigidx;
- int dneed,need,nfeet,hideg,deg1,ft[MAXN],nfrag,frag[MAXN];
+ int dneed,need,nfeet=0,hideg,deg1,ft[MAXN],nfrag=0,frag[MAXN];
#ifdef INSTRUMENT
boolean haschild;
--- a/genquarticg.c
+++ b/genquarticg.c
@@ -226,8 +226,8 @@ STATIC_POPCNTFUNC(void,extend,
(int n, graph *g, edgestruct *edge, pairstruct *epair, int numpair,
int *epairorbit, int *multar, setword *zar, int *col00w, boolean connectflag),
{
- int vm1, vm2, vm3, vm4, vt1, vt2, vt3, vt4, c, b, mcol1,
- tcol, got_one, i, j, numpair1, numdovi, maxdovi, i1, j1, i2, j2,
+ int vm1, vm2, vm3, vm4, vt1, vt2, vt3, vt4, c, b, mcol1=0,
+ tcol, got_one, i, j, numpair1, numdovi, maxdovi=0, i1, j1, i2, j2,
temp, mult, multm, rely, numedge, dcol, dcolp, e1, e2;
int firsttime[MAXN], firsttimey[MAXN], multar1[MAXN],
col00[MAXN], col00w1[MAXN], doviorbit[3*MAXN],
@@ -242,7 +242,7 @@ STATIC_POPCNTFUNC(void,extend,
dovistruct dovi[3*MAXN];
dovistruct dovimax;
register setword gi1, gi2, gj1, gj2;
- boolean conf;
+ boolean conf=FALSE;
/////////////////////////////////////////////////////////////////////////
if( n == splitlevel )
--- a/genrang.c
+++ b/genrang.c
@@ -1087,7 +1087,7 @@ main(int argc, char *argv[])
static FILE *outfile;
char *outfilename;
sparsegraph sg;
- boolean usesparse,digraph,bipartite;
+ boolean usesparse,digraph,bipartite=FALSE;
#if MAXN
graph g[MAXM*1L*MAXN];
--- a/gtnauty.c
+++ b/gtnauty.c
@@ -682,7 +682,7 @@ istransitive(graph *g, int m, int n, gra
int i,inv;
set *gw;
short wt;
- int d,inv0,v,w;
+ int d,inv0=0,v,w;
statsblk stats;
static DEFAULTOPTIONS_GRAPH(options);
#if MAXN
--- a/gtools.c
+++ b/gtools.c
@@ -445,8 +445,8 @@ char*
getecline(FILE *f) /* read an edge_code line */
/* No trailing \n or \0 is added. Immediate EOF causes NULL return. */
{
- size_t headsize,bodysize;
- int sizesize,edgesize;
+ size_t headsize=0,bodysize=0;
+ int sizesize=0,edgesize=0;
int c1,c,i;
DYNALLSTAT(unsigned char,s,s_sz);
@@ -657,7 +657,7 @@ stringtograph(char *s, graph *g, int m)
/* Assumes g is big enough to hold it. */
{
char *p;
- int n,i,j,k,v,x,nb,need;
+ int n,i,j,k,v,x=0,nb,need;
size_t ii;
set *gi,*gj;
boolean done;
@@ -800,7 +800,7 @@ stringtograph_inc(char *s, graph *g, int
*/
{
char *p;
- int n,i,j,k,v,x,nb,need;
+ int n,i,j,k,v,x=0,nb,need;
size_t ii;
set *gi,*gj;
boolean done;
@@ -955,7 +955,7 @@ readgg(FILE *f, graph *g, int reqm, int
*/
{
char *s,*p;
- int m,n;
+ int m=0,n;
if ((readg_line = gtools_getline(f)) == NULL) return NULL;
@@ -1108,7 +1108,7 @@ readgg_inc(FILE *f, graph *g, int reqm,
*/
{
char *s,*p;
- int m,n;
+ int m=0,n;
if ((readg_line = gtools_getline(f)) == NULL) return NULL;
@@ -1219,7 +1219,7 @@ stringtosparsegraph(char *s, sparsegraph
* Also returns the number of loops */
{
char *p,*q;
- int n,nde,i,j,k,vv,x,nb,need;
+ int n,nde,i,j,k,vv,x=0,nb,need;
int *d,*e;
size_t *v;
int loops;
--- a/gutil1.c
+++ b/gutil1.c
@@ -163,7 +163,9 @@ POPCNTFUNC(void,degstats2,
return;
}
-#if !MAXN
+#if MAXN
+ memset(indeg, 0, MAXN * sizeof(int));
+#else
if (digraph)
{
DYNALLOC1(int,indeg,indeg_sz,n,"degstats2");
--- a/gutil2.c
+++ b/gutil2.c
@@ -457,7 +457,7 @@ POPCNTFUNC(int,conncontent,(graph *g, in
graph h[WORDSIZE];
setword gj;
int i,j,v1,v2,x,y;
- int minv,mindeg,deg,goodv;
+ int minv=0,mindeg,deg,goodv;
long ne;
if (m > 1) ABORT("conncontent only implemented for m=1");
--- a/hamheuristic.c
+++ b/hamheuristic.c
@@ -252,14 +252,14 @@ main(int argc, char *argv[])
{
sparsegraph sg;
int n,codetype;
- int argnum,i,j,outcode,tvalue;
+ int argnum,i,j,outcode=0,tvalue;
char *arg,sw;
boolean badargs;
boolean pswitch,sswitch,gswitch,qswitch,Lswitch,tswitch,vswitch,uswitch;
long Lvalue;
double t;
char *infilename,*outfilename;
- FILE *infile,*outfile;
+ FILE *infile,*outfile=NULL;
nauty_counter nin,nout,nNO,nYES,nTIMEOUT;
int status;
DYNALLSTAT(int,cyc,cyc_sz);
--- a/labelg.c
+++ b/labelg.c
@@ -99,14 +99,14 @@ main(int argc, char *argv[])
sparsegraph sg,sh;
int m,n,codetype;
int argnum,j,outcode;
- char *arg,sw,*fmt;
+ char *arg,sw,*fmt = NULL;
boolean badargs,digraph;
boolean sswitch,gswitch,qswitch,fswitch,Oswitch;
boolean iswitch,Iswitch,Kswitch,Mswitch,Sswitch;
boolean uswitch,tswitch,Cswitch,Wswitch,zswitch;
boolean dooutput;
int tabsize,outinvar;
- int inv,mininvarlevel,maxinvarlevel,invararg;
+ int inv,mininvarlevel=0,maxinvarlevel=0,invararg;
long minil,maxil;
double t;
char *infilename,*outfilename;
--- a/linegraphg.c
+++ b/linegraphg.c
@@ -27,7 +27,7 @@ linegraph(sparsegraph *g, sparsegraph *h
size_t *gv,*hv;
int gnv,hnv,jj;
size_t i,j,k,gnde,hnde,xhnde,num;
- size_t hi,lo,mid,v,w;
+ size_t hi,lo,mid=0,v,w;
sortlists_sg(g);
SG_VDE(g,gv,gd,ge);
@@ -113,7 +113,7 @@ totalgraph(sparsegraph *g, sparsegraph *
size_t *gv,*hv;
int gnv,hnv,jj;
size_t i,j,k,gnde,hnde,xhnde,num;
- size_t hi,lo,mid,v,w;
+ size_t hi,lo,mid=0,v,w;
sortlists_sg(g);
SG_VDE(g,gv,gd,ge);
--- a/listg.c
+++ b/listg.c
@@ -529,7 +529,7 @@ main(int argc, char *argv[])
boolean sswitch,Mswitch,Wswitch,Lswitch,Eswitch;
boolean bswitch,Gswitch,yswitch,Yswitch,Hswitch;
int linelength;
- char *infilename,*outfilename,*yarg;
+ char *infilename,*outfilename,*yarg=NULL;
HELP; PUTVERSION;
--- a/multig.c
+++ b/multig.c
@@ -895,7 +895,7 @@ main(int argc, char *argv[])
{
graph *g;
graph gg[MAXNV*SETWORDSNEEDED(MAXNV)];
- int i,m,n,ne,codetype;
+ int i,m,n,ne=0,codetype;
int argnum,j,nfixed,maxdeg,regdeg,ldeg;
char *arg,sw;
boolean badargs;
--- a/naugraph.c
+++ b/naugraph.c
@@ -193,7 +193,7 @@ POPCNTFUNC(void,refine,(graph *g, int *l
int cnt,bmin,bmax;
long longcode;
set *gptr;
- int maxcell,maxpos,hint;
+ int maxcell,maxpos=0,hint;
DEF_DYNINT(workperm,n,"refine");
DEF_DYNSET(workset,m,"refine");
@@ -346,7 +346,7 @@ POPCNTFUNC(void,refine1,(graph *g, int *
int cnt,bmin,bmax;
long longcode;
set *gptr,workset0;
- int maxcell,maxpos,hint;
+ int maxcell,maxpos=0,hint;
DEF_DYNINT(workperm,n,"refine1");
DEF_DYNINT(bucket,n+2,"refine1");
--- a/nautinv.c
+++ b/nautinv.c
@@ -1575,7 +1575,7 @@ STATIC_POPCNTFUNC(int,semirefine,
int cnt,bmin,bmax;
long longcode;
set *gptr;
- int maxcell,maxpos,hint;
+ int maxcell,maxpos=0,hint;
DEF_DYNINT(workperm,n,"refine");
DEF_DYNSET(workset,m,"refine");
--- a/nauty.c
+++ b/nauty.c
@@ -565,7 +565,7 @@ firstpathnode(int *lab, int *ptn, int le
#endif
{
int tv;
- int tv1,index,rtnlevel,tcellsize,tc,childcount,qinvar,refcode;
+ int tv1,index,rtnlevel,tcellsize,tc,childcount=0,qinvar,refcode;
#if !MAXN
set *tcell;
tcnode *tcnode_this;
--- a/planarg.c
+++ b/planarg.c
@@ -171,7 +171,7 @@ int
main(int argc, char *argv[])
{
char *infilename,*outfilename;
- FILE *infile,*outfile;
+ FILE *infile,*outfile=NULL;
sparsegraph sg;
boolean badargs;
boolean verbose,nonplanar,quiet;
--- a/planarity.c
+++ b/planarity.c
@@ -803,7 +803,7 @@ sparseg_adjl_remove_dir_edge_no_red (t_v
A will be left with "holes"
*/
{
- int cur_e, prev_e;
+ int cur_e, prev_e=0;
cur_e = V[u].first_edge;
if (cur_e == NIL)
@@ -4687,7 +4687,7 @@ embedg_recover_embedding (
- for edge e, find its index in A: this should be found
in either the embed_graph[v] record of the mult_edges[v] record
*/
- int index_embed, v, mult, w, v_w_in_embed, new_first_edge;
+ int index_embed, v, mult, w, v_w_in_embed=0, new_first_edge;
boolean set_next;
IF_DEB(
@@ -7552,7 +7552,7 @@ sparseg_adjl_dfs_preprocessing (
according to their lowpoint value
*/
lowpoint_order = (int *) mem_malloc(sizeof(int) * n);
- temp = (t_dlcl **) mem_malloc(sizeof(t_dlcl *) * n);
+ temp = (t_dlcl **) calloc(sizeof(t_dlcl *), n);
new_dfs_tree = (t_dlcl **) mem_malloc(sizeof(t_dlcl *) * n);
/*
--- a/productg.c
+++ b/productg.c
@@ -99,7 +99,7 @@ void
arg_oct(char **ps, int *val, char *id)
{
int code;
- long longval;
+ long longval=0;
code = longoctvalue(ps,&longval);
*val = longval;
--- a/schreier.c
+++ b/schreier.c
@@ -558,7 +558,7 @@ filterschreier(schreier *gp, int *p, per
schreier *sh;
int *orbits,*pwr;
permnode **vec,*curr;
- boolean changed,lchanged,ident;
+ boolean changed,lchanged,ident=FALSE;
#if !MAXN
DYNALLOC1(int,workperm,workperm_sz,n,"filterschreier");
#endif
@@ -774,7 +774,7 @@ getorbitsmin(int *fix, int nfix, schreie
{
schreier *sh,*sha;
int *fixorbs;
- int i,j,k,icell,nfails,wordlen,skips;
+ int i,j,k,icell=0,nfails,wordlen,skips;
permnode *pn;
#if !MAXN
DYNALLOC1(int,workperm2,workperm2_sz,n,"expandschreier");
--- a/shortg.c
+++ b/shortg.c
@@ -280,11 +280,11 @@ int
main(int argc, char *argv[])
{
char *infilename,*outfilename;
- FILE *infile,*outfile;
- FILE *sortin,*sortout;
+ FILE *infile,*outfile=NULL;
+ FILE *sortin=NULL,*sortout=NULL;
int status,loops;
char *dstr,*cdstr,*prevdstr,*prevcdstr;
- char sw,*fmt;
+ char sw,*fmt=NULL;
boolean badargs,quiet,vswitch,dswitch,kswitch,format,uswitch;
boolean iswitch,Iswitch,Kswitch,Tswitch;
boolean zswitch,sswitch,gswitch,Sswitch,tswitch;
@@ -292,7 +292,7 @@ main(int argc, char *argv[])
nauty_counter numread,prevnumread,numwritten,classsize;
int m,n,i,ii,argnum,line;
int outcode,codetype;
- int inv,mininvarlevel,maxinvarlevel,invararg;
+ int inv,mininvarlevel=0,maxinvarlevel=0,invararg;
long minil,maxil;
pid_t sortpid;
graph *g;
--- a/showg.c
+++ b/showg.c
@@ -559,7 +559,7 @@ stringtograph(char *s, graph *g, int m)
/* Assumes g is big enough to hold it. */
{
char *p;
- int n,i,j,k,v,x,nb,need;
+ int n,i,j,k,v,x=0,nb,need;
size_t ii;
set *gi,*gj;
boolean done;
@@ -703,7 +703,7 @@ readgg(FILE *f, graph *g, int reqm, int
{
char *s,*p;
int m,n;
- int readg_code;
+ int readg_code=0;
if ((s = showg_getline(f)) == NULL) return NULL;
--- a/subdivideg.c
+++ b/subdivideg.c
@@ -26,7 +26,7 @@ subdivisiongraph(sparsegraph *g, int k,
size_t *gv,*hv;
int gnv,hnv;
size_t i,j,l,gnde,hnde,num;
- size_t hi,lo,mid,w;
+ size_t hi,lo,mid=0,w;
sortlists_sg(g);
if (k == 0)
--- a/traces.c
+++ b/traces.c
@@ -1386,7 +1386,7 @@ int traces_refine(Candidate *Cand,
int newtrace = FALSE;
int Sparse = TRUE;
int *lab, *cls, *InvLab, *TracePos, *SplitCell, *LabCell, *TraceEnd, Traceccend, *Tracestpend;
- int BigCell, BigCellPos, BigCellSize;
+ int BigCell=0, BigCellPos=0, BigCellSize=0;
boolean TraceCell = FALSE;
int *nghb;
int conta;
@@ -2158,7 +2158,7 @@ void traces_refine_notrace(Candidate *Ca
int Split = 0;
int Sparse = TRUE;
int *lab, *cls, *InvLab, *SplitCell, *LabCell;
- int BigCell, BigCellPos, BigCellSize;
+ int BigCell=0, BigCellPos=0, BigCellSize=0;
int *nghb;
const int variation = 1;
int currentweight, weightstart, weightend, currentcell, currentsize;
@@ -2754,7 +2754,7 @@ void traces_refine_maketrie(Candidate *C
int Split = 0;
int Sparse = TRUE;
int *lab, *cls, *InvLab, *SplitCell, *LabCell;
- int BigCell, BigCellPos, BigCellSize;
+ int BigCell=0, BigCellPos=0, BigCellSize=0;
int *nghb;
const int variation = 1;
int currentweight, weightstart, weightend, currentcell, currentsize;
@@ -3331,7 +3331,7 @@ int traces_refine_comptrie(Candidate *Ca
int Split = 0;
int Sparse = TRUE;
int *lab, *cls, *InvLab, *SplitCell, *LabCell;
- int BigCell, BigCellPos, BigCellSize;
+ int BigCell=0, BigCellPos=0, BigCellSize=0;
int *nghb;
const int variation = 1;
int currentweight, weightstart, weightend, currentcell, currentsize;
@@ -3913,7 +3913,7 @@ int traces_refine_sametrace(Candidate *C
unsigned int longcode;
int Sparse = TRUE;
int *lab, *cls, *InvLab, *TracePos, *SplitCell, *LabCell, *TraceEnd, Traceccend, *Tracestpend;
- int BigCell, BigCellPos, BigCellSize;
+ int BigCell=0, BigCellPos=0, BigCellSize=0;
boolean TraceCell = FALSE;
int *nghb;
const int variation = 0;
@@ -4755,7 +4755,7 @@ void refine_tr_refine(Candidate *Cand,
int newtrace = FALSE;
int Sparse = TRUE;
int *lab, *cls, *InvLab, *TracePos, *SplitCell, *LabCell, TraceEnd, Traceccend, Tracestpend;
- int BigCell, BigCellPos, BigCellSize;
+ int BigCell=0, BigCellPos=0, BigCellSize=0;
boolean TraceCell = FALSE;
int *nghb;
const int variation = 0;
@@ -6378,7 +6378,7 @@ int CompStage0(Partition *CurrPart, Part
int m, int n, struct TracesVars* tv, struct TracesInfo *ti) {
int i, j, i1, j2, k, cu, cu1, num_indv;
int temp, tmp, auxcode, search_vtx, gom_level;
- boolean closeloop, firstsing, has_nexttcell;
+ boolean closeloop=FALSE, firstsing, has_nexttcell;
Candidate *SpTLliststart, *AuxCand;
searchtrie *TreeNode, *TreeNode1, *TreeNode2;
@@ -10173,12 +10173,11 @@ struct trie *trie_make(trie *t, int valu
struct trie *trie_new(int n, struct TracesVars* tv) {
- TrieArray[0] = malloc(n*sizeof(trie));
+ TrieArray[0] = calloc(n, sizeof(trie));
if (TrieArray[0] == NULL) {
fprintf(ERRFILE, "\nError, memory not allocated.\n");
exit(1);
}
- TrieArray[0][0].first_child = TrieArray[0][0].next_sibling = NULL;
tv->triepos = 0;
tv->trienext = 1;
return TrieArray[0];

211
nauty-zlib-blisstog.patch Normal file
View File

@ -0,0 +1,211 @@
Description: implement zlib support to blisstog utility
zlib is implemented to handle directly flate and compress files
for the blisstog nauty tool.
Origin: debian
Author: Jerome Benoit <calculus@rezozer.net>
Last-Update: 2016-03-18
--- a/blisstog.c
+++ b/blisstog.c
@@ -9,45 +9,37 @@
-n#:# Specify a range of n values for output\n\
Input files with name *.gz are ungzipped\n"
-#define ZCAT "gunzip -c" /* name of zcat command (might be "gunzip -c") */
-
/*************************************************************************/
+#include <zlib.h>
#include "gtools.h"
+#define BUFSIZE 256
+
typedef struct
{
int v,w;
} vpair;
-static int
-nextchar(FILE *f)
-{
- char s[2];
-
- if (fscanf(f,"%1s",s) != 1) return EOF;
- else return s[0];
-}
-
static boolean
-readblissgraph(FILE *f, sparsegraph *g)
+readblissgraph(gzFile f, sparsegraph *g)
/* Reads a graph from Bliss format into a sparse graph */
{
- int n,c;
+ int n;
unsigned long ne,j;
int haven;
int i,v,w;
- int haveptn;
DYNALLSTAT(vpair,elist,elist_sz);
+ char buffer[BUFSIZE];
+ memset(buffer, '\0', BUFSIZE);
haven = 0;
j = 0;
- while ((c = nextchar(f)) >= 0)
+ while (gzgets(f, buffer, BUFSIZE) != NULL && strlen(buffer) < BUFSIZE - 1)
{
- switch (c)
+ switch (*buffer)
{
case 'c':
- while ((c = getc(f)) != '\n' && c != EOF) {}
break;
case 'p':
@@ -56,7 +48,7 @@
fprintf(stderr,"Duplicate p line\n");
exit(1);
}
- if (fscanf(f," edge %d %lu",&n,&ne) != 2)
+ if (sscanf(buffer,"p edge %d %lu",&n,&ne) != 2)
{
fprintf(stderr,"Bad p line\n");
return FALSE;
@@ -71,7 +63,7 @@
fprintf(stderr,"Missing p line\n");
return FALSE;
}
- if (fscanf(f,"%d%d",&w,&v) != 2 || w < 1 || w > n)
+ if (sscanf(buffer,"n %d%d",&w,&v) != 2 || w < 1 || w > n)
{
fprintf(stderr,"Bad n line\n");
return FALSE;
@@ -84,7 +76,7 @@
fprintf(stderr,"Missing p line or too many e lines\n");
return FALSE;
}
- if (fscanf(f,"%d%d",&v,&w) != 2 || v < 1 || w < 1 || v > n || w > n)
+ if (sscanf(buffer,"e %d%d",&v,&w) != 2 || v < 1 || w < 1 || v > n || w > n)
{
fprintf(stderr,"Bad e line\n");
return FALSE;
@@ -94,11 +86,22 @@
break;
default:
- fprintf(stderr,"Unknown line %c\n",c);
+ fprintf(stderr,"Unknown line\n");
return FALSE;
}
}
+ if (errno)
+ {
+ fputs("Corrupted data file\n", stderr);
+ return FALSE;
+ }
+ else if (strlen(buffer) == BUFSIZE - 1)
+ {
+ fputs("Corruped data line\n", stderr);
+ return FALSE;
+ }
+
if (j != ne)
{
fprintf(stderr,"Wrong number of e lines\n");
@@ -135,13 +138,10 @@
int
main(int argc, char *argv[])
{
- FILE *infile;
+ gzFile infile;
int j,firstarg;
SG_DECL(g);
- size_t flen;
- boolean ispipe;
int nmin,nmax;
- char zcmd[515];
HELP; PUTVERSION;
@@ -160,53 +160,46 @@
if (argc == firstarg)
{
- if (!readblissgraph(stdin,&g))
+ if ((infile = gzdopen(STDIN_FILENO,"r")) == NULL)
{
- fprintf(stderr,">E Bliss error in file %s\n","stdin");
+ fputs(">E Can't open stdin\n", stderr);
gt_abort(NULL);
}
else
- writes6_sg(stdout,&g);
+ {
+ if (!readblissgraph(stdin,&g))
+ {
+ fprintf(stderr,">E Bliss error in file %s\n","stdin");
+ gt_abort(NULL);
+ }
+ else
+ writes6_sg(stdout,&g);
+ gzclose(infile);
+ }
}
else
{
for (j = firstarg; j < argc; ++j)
{
- flen = strlen(argv[j]);
- if (flen >= 3 && strcmp(argv[j]+flen-3,".gz") == 0)
- {
- sprintf(zcmd,"%s \"%s\"",ZCAT,argv[j]);
- if ((infile = popen(zcmd,"r")) == NULL)
- {
- fprintf(stderr,
- ">E blisstog: cannot open zcat pipe for \"%s\"\n",
- argv[j]);
- gt_abort(NULL);
- }
- ispipe = TRUE;
- }
- else
- {
- if ((infile = fopen(argv[j],"r")) == NULL)
- {
- fprintf(stderr,">E Can't open file %s\n",argv[j]);
- gt_abort(NULL);
- }
- ispipe = FALSE;
- }
-
- if (!readblissgraph(infile,&g))
+ if ((infile = gzopen(argv[j],"r")) == NULL)
{
- fprintf(stderr,">E Bliss error in file %s\n",argv[j]);
+ fprintf(stderr,">E Can't open file %s\n",argv[j]);
gt_abort(NULL);
}
- else if (nmax < 0 || (g.nv >= nmin && g.nv <= nmax))
- {
- sortlists_sg(&g);
- writes6_sg(stdout,&g);
+ else
+ {
+ if (!readblissgraph(infile,&g))
+ {
+ fprintf(stderr,">E Bliss error in file %s\n",argv[j]);
+ gt_abort(NULL);
+ }
+ else if (nmax < 0 || (g.nv >= nmin && g.nv <= nmax))
+ {
+ sortlists_sg(&g);
+ writes6_sg(stdout,&g);
+ }
+ gzclose(infile);
}
-
- if (ispipe) pclose(infile); else fclose(infile);
}
}

View File

@ -1,206 +0,0 @@
Invoke zlib functions rather than calling gunzip in a subprocess.
Inspired by the debian nauty-zlib-blisstog patch.
--- a/dimacs2g.c 2022-11-15 22:15:46.000000000 -0700
+++ b/dimacs2g.c 2022-11-16 14:11:09.504416535 -0700
@@ -17,17 +17,10 @@
/*************************************************************************/
+#include <zlib.h>
#include "gtools.h"
-#if HAVE_GUNZIP && HAVE_POPEN
-#if !POPEN_DEC
-extern FILE *popen(const char *command, const char *type);
-extern int pclose(FILE *stream);
-#endif
-#endif
-
-#define GUNZIP "gunzip -c"
-
+#define BUFSIZE 256
#define MAXCOMMENT 200
static char comment[MAXCOMMENT+3];
static int commentlen;
@@ -37,40 +30,30 @@ typedef struct
int v,w;
} vpair;
-static int
-nextchar(FILE *f)
-{
- char s[2];
-
- if (fscanf(f,"%1s",s) != 1) return EOF;
- else return s[0];
-}
-
static boolean
-readdimacsgraph(FILE *f, sparsegraph *g)
+readdimacsgraph(gzFile f, sparsegraph *g)
/* Reads a graph from Bliss format into a sparse graph */
{
- int n,c;
+ int n;
unsigned long ne,j;
int haven;
int i,v,w;
- int haveptn;
DYNALLSTAT(vpair,elist,elist_sz);
+ char buffer[BUFSIZE];
+ memset(buffer, '\0', BUFSIZE);
commentlen = 0;
haven = 0;
j = 0;
- while ((c = nextchar(f)) >= 0)
+ while (gzgets(f, buffer, BUFSIZE) != NULL && strlen(buffer) < BUFSIZE - 1)
{
- switch (c)
+ switch (*buffer)
{
case 'c':
- commentlen = 0;
- while ((c = getc(f)) != '\n' && c != EOF)
- {
- if (commentlen < MAXCOMMENT)
- comment[commentlen++] = c;
- }
+ commentlen = strlen(buffer);
+ if (commentlen > MAXCOMMENT)
+ commentlen = MAXCOMMENT;
+ memcpy(comment, &buffer[1], commentlen);
comment[commentlen] = '\0';
break;
@@ -80,7 +63,7 @@ readdimacsgraph(FILE *f, sparsegraph *g)
fprintf(stderr,"Duplicate p line\n");
exit(1);
}
- if (fscanf(f," edge %d %lu",&n,&ne) != 2)
+ if (sscanf(&buffer[1]," edge %d %lu",&n,&ne) != 2)
{
fprintf(stderr,"Bad p line\n");
return FALSE;
@@ -95,7 +78,7 @@ readdimacsgraph(FILE *f, sparsegraph *g)
fprintf(stderr,"Missing p line\n");
return FALSE;
}
- if (fscanf(f,"%d%d",&w,&v) != 2 || w < 1 || w > n)
+ if (sscanf(&buffer[1],"%d%d",&w,&v) != 2 || w < 1 || w > n)
{
fprintf(stderr,"Bad n line\n");
return FALSE;
@@ -108,7 +91,7 @@ readdimacsgraph(FILE *f, sparsegraph *g)
fprintf(stderr,"Missing p line or too many e lines\n");
return FALSE;
}
- if (fscanf(f,"%d%d",&v,&w) != 2 || v < 1 || w < 1 || v > n || w > n)
+ if (sscanf(&buffer[1],"%d%d",&v,&w) != 2 || v < 1 || w < 1 || v > n || w > n)
{
fprintf(stderr,"Bad e line\n");
return FALSE;
@@ -118,11 +101,22 @@ readdimacsgraph(FILE *f, sparsegraph *g)
break;
default:
- fprintf(stderr,"Unknown line %c\n",c);
+ fprintf(stderr,"Unknown line %c\n",*buffer);
return FALSE;
}
}
+ if (errno)
+ {
+ fputs("Corrupted data file\n", stderr);
+ return FALSE;
+ }
+ else if (strlen(buffer) == BUFSIZE - 1)
+ {
+ fputs("Corruped data line\n", stderr);
+ return FALSE;
+ }
+
if (j != ne)
{
fprintf(stderr,"Wrong number of e lines\n");
@@ -159,13 +153,11 @@ readdimacsgraph(FILE *f, sparsegraph *g)
int
main(int argc, char *argv[])
{
- FILE *infile;
+ gzFile infile;
int j,firstarg;
SG_DECL(g);
- size_t flen;
- boolean nocomment,nofiles,nswitch,iszip,dreadnaut,badargs;
+ boolean nocomment,nofiles,nswitch,dreadnaut,badargs;
long nmin,nmax;
- char zcmd[550];
char *arg,sw;
char *prestring,*poststring;
@@ -212,35 +204,21 @@ main(int argc, char *argv[])
for (j = firstarg; j < argc || nofiles; ++j)
{
if (nofiles)
- infile = stdin;
- else
{
- flen = strlen(argv[j]);
- if (flen >= 3 && strcmp(argv[j]+flen-3,".gz") == 0)
+ infile = gzdopen(STDIN_FILENO,"r");
+ if (infile == NULL)
{
-#if HAVE_GUNZIP && HAVE_POPEN
- if (strlen(argv[j]) > 500) gt_abort(">E file name too long\n");
- sprintf(zcmd,"%s \"%s\"",GUNZIP,argv[j]);
- if ((infile = popen(zcmd,"r")) == NULL)
- {
- fprintf(stderr,
- ">E dimacs2g: cannot open gunzip pipe for \"%s\"\n",
- argv[j]);
- gt_abort(NULL);
- }
- iszip = TRUE;
-#else
- gt_abort(">E dimacs2g is not compiled with gunzip support\n");
-#endif
+ fputs(">E Can't open stdin\n",stderr);
+ gt_abort(NULL);
}
- else
+ }
+ else
+ {
+ infile = gzopen(argv[j],"r");
+ if (infile == NULL)
{
- if ((infile = fopen(argv[j],"r")) == NULL)
- {
- fprintf(stderr,">E Can't open file %s\n",argv[j]);
- gt_abort(NULL);
- }
- iszip = FALSE;
+ fprintf(stderr,">E Can't open file %s\n",argv[j]);
+ gt_abort(NULL);
}
}
@@ -270,14 +248,8 @@ main(int argc, char *argv[])
if (nofiles)
nofiles = FALSE;
- else if (iszip)
- {
-#if HAVE_GUNZIP && HAVE_POPEN
- pclose(infile);
-#endif
- }
else
- fclose(infile);
+ gzclose(infile);
}
exit(0);

View File

@ -1,57 +1,37 @@
%global nautybasever 2.6r5
%global nautytarver %(tr -d . <<< %{nautybasever})
Name: nauty Name: nauty
Version: 2.8.6 Version: %(tr r . <<< %{nautybasever})
Release: 2%{?dist} Release: 1%{?dist}
Summary: Graph canonical labeling and automorphism group computation Summary: Graph canonical labeling and automorphism group computation
%global nautytarver %(tr . _ <<< %{version}) License: ASL 2.0
URL: http://pallini.di.uniroma1.it/
# The projects as a whole is Apache-2.0. Source0: http://pallini.di.uniroma1.it/%{name}%{nautytarver}.tar.gz
# The bundled cliquer code in nautycliquer.c is GPL-2.0-or-later, but we patch
# it out.
# Other licenses are due to embedded fonts in the PDF manual.
# CM: Knuth-CTAN
# CM-Super: GPL-1.0-or-later
License: Apache-2.0 AND Knuth-CTAN AND GPL-1.0-or-later
URL: https://pallini.di.uniroma1.it/
Source0: https://pallini.di.uniroma1.it/%{name}%{nautytarver}.tar.gz
# Debian patch to fix the gt_numorbits declaration # Debian patch to fix the gt_numorbits declaration
Patch0: %{name}-fix-gt_numorbits.patch Patch0: %{name}-fix-gt_numorbits.patch
# Use zlib instead of invoking zcat through a pipe # Debian patch to add explicit extern declarations where needed
Patch1: %{name}-zlib-dimacs2g.patch Patch1: %{name}-fix-include-extern.patch
# Debian patch to use zlib instead of invoking zcat through a pipe
Patch2: %{name}-zlib-blisstog.patch
# Debian patch to improve usage and help information # Debian patch to improve usage and help information
Patch2: %{name}-help2man.patch Patch3: %{name}-help2man.patch
# Debian patch to add libtool support for building a shared library # Debian patch to add libtool support for building a shared library
Patch3: %{name}-autotoolization.patch Patch4: %{name}-autotoolization.patch
# Debian patch to canonicalize header file usage # Debian patch to canonicalize header file usage
Patch4: %{name}-includes.patch Patch5: %{name}-includes.patch
# Debian patch to prefix "nauty-" to the names of the generic tools # Debian patch to prefix "nauty-" to the names of the generic tools
Patch5: %{name}-tool-prefix.patch Patch6: %{name}-tool-prefix.patch
# Detect availability of the popcnt instruction at runtime # Detect availability of the popcnt instruction at runtime
Patch6: %{name}-popcnt.patch Patch7: %{name}-popcnt.patch
# Unbundle cliquer
Patch7: %{name}-unbundle-cliquer.patch
# Fix incorrect printf format strings
Patch8: %{name}-format.patch
# Fix uninitialized variable warnings
Patch9: %{name}-uninitialized.patch
# Fix a function that can fall off the end
Patch10: %{name}-fall-off.patch
# Mark functions as noreturn to improve compiler diagnostics
Patch11: %{name}-noreturn.patch
BuildRequires: cliquer-devel
BuildRequires: gcc BuildRequires: gcc
BuildRequires: gmp-devel BuildRequires: gmp-devel
BuildRequires: help2man BuildRequires: help2man
BuildRequires: libtool BuildRequires: libtool
BuildRequires: make BuildRequires: zlib-devel
BuildRequires: pkgconfig(zlib)
# Some version of planarity is bundled. I do not know which version it is,
# but the interface is completely different from the one provided by Fedora's
# planarity package.
Provides: bundled(planarity)
# The shortg program invokes sort. # The shortg program invokes sort.
Requires: coreutils Requires: coreutils
@ -70,7 +50,6 @@ multigraphs, and programs for manipulating files of graphs in a compact
format. format.
%package -n libnauty %package -n libnauty
License: Apache-2.0
Summary: Library for graph automorphism Summary: Library for graph automorphism
%description -n libnauty %description -n libnauty
@ -79,7 +58,6 @@ automorphism groups of graphs and digraphs. This package contains a
library of nauty procedures. library of nauty procedures.
%package -n libnauty-devel %package -n libnauty-devel
License: Apache-2.0
Summary: Development files for libnauty Summary: Development files for libnauty
Requires: lib%{name}%{?_isa} = %{version}-%{release} Requires: lib%{name}%{?_isa} = %{version}-%{release}
@ -87,64 +65,58 @@ Requires: lib%{name}%{?_isa} = %{version}-%{release}
This package contains files needed to develop programs that use libnauty. This package contains files needed to develop programs that use libnauty.
%prep %prep
%autosetup -p1 -n %{name}%{nautytarver} %setup -q -n %{name}%{nautytarver}
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
# Remove the pregenerated makefile # Remove the pregenerated makefile
rm -f makefile rm -f makefile
# Inject the version number
sed -i 's/@INJECTVER@/%{version}/' configure.ac
# Regenerate the configure script with libtool support # Regenerate the configure script with libtool support
autoreconf -fi autoreconf -fi
# Fix the pkgconfig file on 64-bit systems
if [ '%{_lib}' != 'lib' ]; then
sed -i 's,/lib,/lib64,' nauty.pc
fi
%build %build
# The runtime popcnt support used to work for 32-bit x86 as well. But then export CFLAGS="%{optflags} -fwrapv"
# GCC 12 arrived, and the runtime popcnt support led to failing tests on CPUs %configure --disable-static \
# that have the popcnt instruction. I don't care enough about that platform %ifarch %ix86 x86_64
# to spend time debugging the issue.
export CFLAGS="%{build_cflags} -fwrapv -I%{_includedir}/cliquer"
%configure --disable-static --enable-generic \
%ifarch x86_64
--enable-runtime-popcnt \ --enable-runtime-popcnt \
%endif %endif
--enable-tls --enable-tls
make %{?_smp_mflags}
# Get rid of undesirable hardcoded rpaths; workaround libtool reordering
# -Wl,--as-needed after all the libraries.
sed -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \
-e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' \
-e 's|CC="\(.*g..\)"|CC="\1 -Wl,--as-needed"|' \
-i libtool
%make_build
%install %install
%make_install make install DESTDIR=%{buildroot}
# We do not want the libtool archives # We do not want the libtool archives
rm %{buildroot}%{_libdir}/*.la rm %{buildroot}%{_libdir}/*.la
# Link identical executables
rm %{buildroot}%{_bindir}/nauty-pickg
ln -s nauty-countg %{buildroot}%{_bindir}/nauty-pickg
%check %check
LD_LIBRARY_PATH=$PWD/.libs PATH=$PWD:$PATH make check make check
%post -n libnauty -p /sbin/ldconfig
%postun -n libnauty -p /sbin/ldconfig
%files %files
%doc README nug28.pdf %doc README nug26.pdf
%{_bindir}/dreadnaut %{_bindir}/dreadnaut
%{_bindir}/nauty-* %{_bindir}/nauty-*
%{_mandir}/man1/dreadnaut.1* %{_mandir}/man1/dreadnaut.1*
%{_mandir}/man1/nauty-*.1* %{_mandir}/man1/nauty-*.1*
%files -n libnauty %files -n libnauty
%doc changes24-28.txt formats.txt %doc changes24-26.txt formats.txt
%license COPYRIGHT %license COPYRIGHT
%{_libdir}/libnauty*.so.2* %{_libdir}/libnauty*.so.*
%files -n libnauty-devel %files -n libnauty-devel
%doc schreier.txt %doc schreier.txt
@ -153,84 +125,6 @@ LD_LIBRARY_PATH=$PWD/.libs PATH=$PWD:$PATH make check
%{_libdir}/pkgconfig/%{name}.pc %{_libdir}/pkgconfig/%{name}.pc
%changelog %changelog
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.8.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Wed Nov 16 2022 Jerry James <loganjerry@gmail.com> - 2.8.6-1
- Version 2_8_6
- Convert License tag to SPDX
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Fri Jul 1 2022 Jerry James <loganjerry@gmail.com> - 2.7.4-1
- Version 2.7r4
- Add -fall-off and -noreturn patches
* Thu Jan 27 2022 Jerry James <loganjerry@gmail.com> - 2.7.3-2
- Disable popcnt support on i386 due to test failures
- Add -format and -uninitialized patches
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Mon Sep 6 2021 Jerry James <loganjerry@gmail.com> - 2.7.3-1
- Version 2.7.3
* Thu Sep 2 2021 Jerry James <loganjerry@gmail.com> - 2.7.2-1
- Version 2.7.2
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Jan 05 2021 Timm Bäder <tbaeder@redhat.com> - 2.7.1-3
- Enable runtime popcount support on clang
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.7.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jun 2 2020 Jerry James <loganjerry@gmail.com> - 2.7.1-1
- Version 2.7.1
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.12-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Oct 15 2019 Jerry James <loganjerry@gmail.com> - 2.6.12-1
- New upstream version
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.11-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.11-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Sat Oct 6 2018 Jerry James <loganjerry@gmail.com> - 2.6.11-1
- New upstream version
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.10-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.10-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Mon Oct 23 2017 Jerry James <loganjerry@gmail.com> - 2.6.10-1
- New upstream version
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.7-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.7-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Sat Sep 10 2016 Jerry James <loganjerry@gmail.com> - 2.6.7-1
- New upstream version
* Thu Apr 21 2016 Jerry James <loganjerry@gmail.com> - 2.6.5-1 * Thu Apr 21 2016 Jerry James <loganjerry@gmail.com> - 2.6.5-1
- New upstream version - New upstream version

View File

@ -1 +1 @@
SHA512 (nauty2_8_6.tar.gz) = 0620113185ed89e06aa889317ded1a45184f8de3dde0b69e4144d4f49cb780b4c88dd46e91aadea094e6da1d4bd1f0453282f4450c83c61b3b50d2970cdbd43c 91b03a7b069962e94fc9aac8831ce8d2 nauty26r5.tar.gz