Hello community, here is the log from the commit of package nauty for openSUSE:Factory checked in at 2018-05-04 11:28:43 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/nauty (Old) and /work/SRC/openSUSE:Factory/.nauty.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "nauty" Fri May 4 11:28:43 2018 rev:2 rq:602664 version:2.6.10 Changes: -------- --- /work/SRC/openSUSE:Factory/nauty/nauty.changes 2017-10-08 20:14:50.433000717 +0200 +++ /work/SRC/openSUSE:Factory/.nauty.new/nauty.changes 2018-05-04 11:29:09.436520078 +0200 @@ -1,0 +2,22 @@ +Mon Apr 30 22:26:29 UTC 2018 - jengelh@inai.de + +- Update to new upstream release 2.6.10 + * Problems with input of graphs with 0 vertices were fixed. + Many utilities in the package will not work with such graphs. + It is NOT TRUE that graphs of order 0 are now supported. + * Stronger measures are taken to ensure that the sort order + used by shortg is plain byte order. This corresponds to the C + collation order, also known as POSIX, but it may be different + from the collation order used by default on your command + line. This means that utilities like sort, uniq, comm and + join might consider the output of shortg to be out of order. + To avoid this, define the environment variable LC_ALL to + equal the string "C": + * bash: export LC_ALL=C + * tcsh: setenv LC_ALL C + * If LC_ALL is undefined, it will also be sufficient to define + LC_COLLATE to equal "C". The POSIX standard says that LC_ALL + takes precedence over LC_COLLATE if both are defined, but + this might not be true for older systems. + +------------------------------------------------------------------- Old: ---- nauty26r7.tar.gz New: ---- nauty26r10.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ nauty.spec ++++++ --- /var/tmp/diff_new_pack.K5659b/_old 2018-05-04 11:29:12.276415888 +0200 +++ /var/tmp/diff_new_pack.K5659b/_new 2018-05-04 11:29:12.280415741 +0200 @@ -1,7 +1,7 @@ # # spec file for package nauty # -# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,9 +17,9 @@ Name: nauty -%define lname libnauty-2_6_7 -%define fuv 26r7 -Version: 2.6.7 +%define lname libnauty-2_6_10 +%define fuv 26r10 +Version: 2.6.10 Release: 0 Summary: Tools for computing automorphism groups of graphs License: Apache-2.0 @@ -30,8 +30,8 @@ Patch1: nauty-am.diff Patch2: nauty-uninitialized.diff BuildRequires: automake -BuildRequires: libtool >= 2 BuildRequires: gmp-devel +BuildRequires: libtool >= 2 BuildRequires: zlib-devel BuildRoot: %{_tmppath}/%{name}-%{version}-build ++++++ nauty-am.diff ++++++ --- /var/tmp/diff_new_pack.K5659b/_old 2018-05-04 11:29:12.304414861 +0200 +++ /var/tmp/diff_new_pack.K5659b/_new 2018-05-04 11:29:12.304414861 +0200 @@ -9,10 +9,10 @@ configure.ac | 14 +++++--- 2 files changed, 111 insertions(+), 4 deletions(-) -Index: nauty26r7/Makefile.am +Index: nauty26r10/Makefile.am =================================================================== --- /dev/null -+++ nauty26r7/Makefile.am ++++ nauty26r10/Makefile.am @@ -0,0 +1,101 @@ +ACLOCAL_AMFLAGS = -I m4 +bin_PROGRAMS = dreadnaut addedgeg amtog biplabg catg complg converseg copyg \ @@ -115,10 +115,10 @@ +libnautyW1_la_SOURCES = ${libnauty_la_SOURCES} +libnautyW1_la_LIBADD = -lpthread +libnautyW1_la_LDFLAGS = ${libnauty_la_LDFLAGS} -Index: nauty26r7/configure.ac +Index: nauty26r10/configure.ac =================================================================== ---- nauty26r7.orig/configure.ac -+++ nauty26r7/configure.ac +--- nauty26r10.orig/configure.ac ++++ nauty26r10/configure.ac @@ -1,5 +1,11 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT(nauty-h.in) @@ -147,9 +147,9 @@ dnl Checks for system features AC_CANONICAL_HOST -@@ -434,6 +440,6 @@ AC_MSG_RESULT($sort_newparams_ok) - edit_msg="++++++ This file is automatically generated, don't edit it by hand! ++++++" - AC_SUBST(edit_msg) +@@ -400,6 +406,6 @@ AC_SUBST(edit_msg) + echo CFLAGS=$CFLAGS + echo MORECFLAGS=$MORECFLAGS -AC_OUTPUT(makefile:makefile.in nauty.h:nauty-h.in +AC_OUTPUT(Makefile nauty.h:nauty-h.in ++++++ nauty26r7.tar.gz -> nauty26r10.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nauty26r7/amtog.c new/nauty26r10/amtog.c --- old/nauty26r7/amtog.c 2016-07-19 08:40:16.000000000 +0200 +++ new/nauty26r10/amtog.c 2017-08-13 00:24:53.000000000 +0200 @@ -25,6 +25,8 @@ t Upper triangle of matrix to follow, row by row\n\ excluding the diagonal.\n\ T Complement of upper trangle to follow (as t)\n\ + s Upper triangle of matrix to follow, row by row\n\ + excluding the diagonal; lower triangle is complement.\n\ q exit (optional)\n" /*************************************************************************/ @@ -43,7 +45,7 @@ char *arg,sw,ochar; boolean badargs; boolean nswitch,sswitch,gswitch,hswitch,qswitch; - boolean warn,loop,unsymm,compl,triangle; + boolean warn,loop,unsymm,compl,triangle,tournament; boolean zswitch,oswitch,nowarn; char *infilename,*outfilename; FILE *infile,*outfile; @@ -179,8 +181,8 @@ #endif } else if (s[0] == 'm' || s[0] == 'M' || s[0] == 't' || - s[0] == 'T' || s[0] == '0' || s[0] == '1' || - (oswitch && isdigit(s[0]))) + s[0] == 'T' || s[0] == 's' || s[0] == '0' || + s[0] == '1' || (oswitch && isdigit(s[0]))) { if (n < 0) { @@ -193,8 +195,9 @@ EMPTYSET(g,m*(size_t)n); - loop = unsymm = FALSE; - triangle = (s[0] == 't') || (s[0] == 'T'); + loop = unsymm = tournament = FALSE; + triangle = (s[0] == 't') || (s[0] == 'T') || (s[0] == 's'); + tournament = s[0] == 's'; compl = (s[0] == 'M') || (s[0] == 'T'); ++nin; @@ -212,7 +215,9 @@ val = ((i != j) & compl) ^ (s[0] == ochar); if (val == 1) { - if (triangle) + if (tournament) + ADDELEMENT(GRAPHROW(g,i,m),j); + else if (triangle) { ADDELEMENT(GRAPHROW(g,i,m),j); ADDELEMENT(GRAPHROW(g,j,m),i); @@ -225,6 +230,8 @@ } if (i == j) loop = TRUE; } + else if (tournament) + ADDELEMENT(GRAPHROW(g,j,m),i); else if (j < i && ISELEMENT(GRAPHROW(g,j,m),i)) unsymm = TRUE; } @@ -237,8 +244,8 @@ } } - if (unsymm && outcode != DIGRAPH6) fprintf(stderr, - ">W amtog: warning, graph " + if ((tournament || unsymm) && outcode != DIGRAPH6) + fprintf(stderr,">W amtog: warning, graph " COUNTER_FMT " is unsymmetric\n",nin); if (outcode == DIGRAPH6) writed6(outfile,g,m,n); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nauty26r7/changes24-26.txt new/nauty26r10/changes24-26.txt --- old/nauty26r7/changes24-26.txt 2016-07-19 08:40:16.000000000 +0200 +++ new/nauty26r10/changes24-26.txt 2017-10-15 04:25:24.000000000 +0200 @@ -204,3 +204,24 @@ "unsigned long" is only 32 bits, or "unsigned long" otherwise. This means that some plugins for geng/genbg/gentourng may need to be revised. +* Problems with input of graphs with 0 vertices were fixed with help + from Kevin Ryde. However, note that many utilities in the package + will not work with such graphs. It is NOT TRUE that graphs of + order 0 are now supported. +* Stronger measures are taken to ensure that the sort order used by + shortg is plain byte order. This corresponds to the C collation + order, also known as POSIX, but it may be different from the + collation order used by default on your command line. This means + that utilities like sort, uniq, comm and join might consider the + output of shortg to be out of order. To avoid this, define the + environment variable LC_ALL to equal the string "C". + bash: export LC_ALL=C + tcsh: setenv LC_ALL C + If LC_ALL is undefined, it will also be sufficient to define + LC_COLLATE to equal "C". The POSIX standard says that LC_ALL + takes precedence over LC_COLLATE if both are defined, but this + might not be true for older systems. If you really don't want + to change environment variables, you can compile shortg with + -DKEEP_SORT_LOCALE but beware that some collation orders are + are not even deterministic (i.e. different characters might + compare equal). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nauty26r7/configure new/nauty26r10/configure --- old/nauty26r7/configure 2016-07-19 08:40:16.000000000 +0200 +++ new/nauty26r10/configure 2017-10-14 05:06:10.000000000 +0200 @@ -2511,6 +2511,26 @@ case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac +case "$host" in + *powerpc*) + is_powerpc=1 ;; + *) + is_powerpc=0 ;; +esac + +case "$build" in + *cygwin*) + is_cygwin=1 ;; + *) + is_cygwin=0 ;; +esac + +case "$CC" in + gcc*) + gccver=`"$CC" -dumpversion` ;; + *) + gccver=0.0.0 ;; +esac user_cflags="$CFLAGS" ac_ext=c @@ -3505,14 +3525,15 @@ fi -if test x"$ac_cv_sys_file_offset_bits" = xno; then : +if test "x$ac_cv_sys_file_offset_bits" = xno; then : ac_cv_sys_file_offset_bits=0 fi -if test x"$user_cflags" = x"" -o x"$user_cflags" = x-m32 ; then - if test "$CC" = "icc" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -O3 flags" >&5 +if test "x$user_cflags" = x || test "x$user_cflags" = x-m32; then : + + if test "$CC" = "icc"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -O3 flags" >&5 $as_echo_n "checking if $CC supports -O3 flags... " >&6; } SAVE_CFLAGS="$CFLAGS" CFLAGS="-O3" @@ -3540,8 +3561,8 @@ else : fi; - if test x"$ac_cv_try_cflags_ok" = x"no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -O2 flags" >&5 + if test "x$ac_cv_try_cflags_ok" = xno; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -O2 flags" >&5 $as_echo_n "checking if $CC supports -O2 flags... " >&6; } SAVE_CFLAGS="$CFLAGS" CFLAGS="-O2" @@ -3568,10 +3589,10 @@ CFLAGS="$CFLAGS -O2" else CFLAGS="$CFLAGS -O" - fi; fi - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -O4 -Werror flags" >&5 +fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -O4 -Werror flags" >&5 $as_echo_n "checking if $CC supports -O4 -Werror flags... " >&6; } SAVE_CFLAGS="$CFLAGS" CFLAGS="-O4 -Werror" @@ -3599,8 +3620,8 @@ else : fi; - if test x"$ac_cv_try_cflags_ok" = x"no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -O3 flags" >&5 + if test "x$ac_cv_try_cflags_ok" = xno; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -O3 flags" >&5 $as_echo_n "checking if $CC supports -O3 flags... " >&6; } SAVE_CFLAGS="$CFLAGS" CFLAGS="-O3" @@ -3627,9 +3648,9 @@ CFLAGS="$CFLAGS -O3" else : - fi; - if test x"$ac_cv_try_cflags_ok" = x"no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -O2 flags" >&5 + fi + if test "x$ac_cv_try_cflags_ok" = xno; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -O2 flags" >&5 $as_echo_n "checking if $CC supports -O2 flags... " >&6; } SAVE_CFLAGS="$CFLAGS" CFLAGS="-O2" @@ -3656,525 +3677,15 @@ CFLAGS="$CFLAGS -O2" else CFLAGS="$CFLAGS -O" - fi; - fi fi - fi - - if test "$CC" = "gcc" ; then - gccver=`gcc --version 2>/dev/null || echo 0.0.0` - else - gccver=0.0.0 - fi - - is_powerpc=0 - case "$host" in - *i686-apple-darwin*) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -fast flags" >&5 -$as_echo_n "checking if $CC supports -fast flags... " >&6; } - SAVE_CFLAGS="$CFLAGS" - CFLAGS="-fast" - if test "$cross_compiling" = yes; then : - ac_cv_try_cflags_ok=no -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -main(){exit(0);} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_try_cflags_ok=yes -else - ac_cv_try_cflags_ok=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - CFLAGS="$SAVE_CFLAGS" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_try_cflags_ok" >&5 -$as_echo "$ac_cv_try_cflags_ok" >&6; } - if test x"$ac_cv_try_cflags_ok" = x"yes"; then - CFLAGS="$MORECFLAGS -fast" - else - : - fi;; - *pentium*solaris*) - ;; - *pentium4*) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -march=pentium4 flags" >&5 -$as_echo_n "checking if $CC supports -march=pentium4 flags... " >&6; } - SAVE_CFLAGS="$CFLAGS" - CFLAGS="-march=pentium4" - if test "$cross_compiling" = yes; then : - ac_cv_try_cflags_ok=no -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -main(){exit(0);} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_try_cflags_ok=yes -else - ac_cv_try_cflags_ok=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext fi - CFLAGS="$SAVE_CFLAGS" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_try_cflags_ok" >&5 -$as_echo "$ac_cv_try_cflags_ok" >&6; } - if test x"$ac_cv_try_cflags_ok" = x"yes"; then - CFLAGS="$CFLAGS -march=pentium4" - else - : - fi;; - *pentium3*|*i686*|*athlon*) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -march=i686 flags" >&5 -$as_echo_n "checking if $CC supports -march=i686 flags... " >&6; } - SAVE_CFLAGS="$CFLAGS" - CFLAGS="-march=i686" - if test "$cross_compiling" = yes; then : - ac_cv_try_cflags_ok=no -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -main(){exit(0);} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_try_cflags_ok=yes -else - ac_cv_try_cflags_ok=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - CFLAGS="$SAVE_CFLAGS" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_try_cflags_ok" >&5 -$as_echo "$ac_cv_try_cflags_ok" >&6; } - if test x"$ac_cv_try_cflags_ok" = x"yes"; then - CFLAGS="$CFLAGS -march=i686" - else - : - fi;; - *pentium2*|*i586*) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -march=i586 flags" >&5 -$as_echo_n "checking if $CC supports -march=i586 flags... " >&6; } - SAVE_CFLAGS="$CFLAGS" - CFLAGS="-march=i586" - if test "$cross_compiling" = yes; then : - ac_cv_try_cflags_ok=no -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -main(){exit(0);} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_try_cflags_ok=yes -else - ac_cv_try_cflags_ok=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext fi - CFLAGS="$SAVE_CFLAGS" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_try_cflags_ok" >&5 -$as_echo "$ac_cv_try_cflags_ok" >&6; } - if test x"$ac_cv_try_cflags_ok" = x"yes"; then - CFLAGS="$CFLAGS -march=i586" - else - : - fi;; - *powerpc*) - is_powerpc=1 - machtype=`/usr/bin/machine 2>/dev/null || echo unknown` - case "$machtype" in - ppc740?) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -mcpu=7400 flags" >&5 -$as_echo_n "checking if $CC supports -mcpu=7400 flags... " >&6; } - SAVE_CFLAGS="$CFLAGS" - CFLAGS="-mcpu=7400" - if test "$cross_compiling" = yes; then : - ac_cv_try_cflags_ok=no -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -main(){exit(0);} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_try_cflags_ok=yes -else - ac_cv_try_cflags_ok=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext fi - CFLAGS="$SAVE_CFLAGS" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_try_cflags_ok" >&5 -$as_echo "$ac_cv_try_cflags_ok" >&6; } - if test x"$ac_cv_try_cflags_ok" = x"yes"; then - CFLAGS="$CFLAGS -mcpu=7400" - else - : - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -mtune=7400 flags" >&5 -$as_echo_n "checking if $CC supports -mtune=7400 flags... " >&6; } - SAVE_CFLAGS="$CFLAGS" - CFLAGS="-mtune=7400" - if test "$cross_compiling" = yes; then : - ac_cv_try_cflags_ok=no -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -main(){exit(0);} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_try_cflags_ok=yes -else - ac_cv_try_cflags_ok=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext fi - CFLAGS="$SAVE_CFLAGS" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_try_cflags_ok" >&5 -$as_echo "$ac_cv_try_cflags_ok" >&6; } - if test x"$ac_cv_try_cflags_ok" = x"yes"; then - CFLAGS="$CFLAGS -mtune=7400" - else - : - fi;; - ppc745?) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -mcpu=7450 flags" >&5 -$as_echo_n "checking if $CC supports -mcpu=7450 flags... " >&6; } - SAVE_CFLAGS="$CFLAGS" - CFLAGS="-mcpu=7450" - if test "$cross_compiling" = yes; then : - ac_cv_try_cflags_ok=no -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -main(){exit(0);} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_try_cflags_ok=yes -else - ac_cv_try_cflags_ok=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - CFLAGS="$SAVE_CFLAGS" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_try_cflags_ok" >&5 -$as_echo "$ac_cv_try_cflags_ok" >&6; } - if test x"$ac_cv_try_cflags_ok" = x"yes"; then - CFLAGS="$CFLAGS -mcpu=7450" - else - : - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -mtune=7450 flags" >&5 -$as_echo_n "checking if $CC supports -mtune=7450 flags... " >&6; } - SAVE_CFLAGS="$CFLAGS" - CFLAGS="-mtune=7450" - if test "$cross_compiling" = yes; then : - ac_cv_try_cflags_ok=no -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -main(){exit(0);} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_try_cflags_ok=yes -else - ac_cv_try_cflags_ok=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - CFLAGS="$SAVE_CFLAGS" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_try_cflags_ok" >&5 -$as_echo "$ac_cv_try_cflags_ok" >&6; } - if test x"$ac_cv_try_cflags_ok" = x"yes"; then - CFLAGS="$CFLAGS -mtune=7450" - else - : - fi - case "$gccver" in - *\ 4.[0-9].[0-9]\ *) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports $CFLAGS -fast flags" >&5 -$as_echo_n "checking if $CC supports $CFLAGS -fast flags... " >&6; } - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -fast" - if test "$cross_compiling" = yes; then : - ac_cv_try_cflags_ok=no -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -main(){exit(0);} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_try_cflags_ok=yes -else - ac_cv_try_cflags_ok=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - CFLAGS="$SAVE_CFLAGS" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_try_cflags_ok" >&5 -$as_echo "$ac_cv_try_cflags_ok" >&6; } - if test x"$ac_cv_try_cflags_ok" = x"yes"; then - MORECFLAGS="$MORECFLAGS -fast" - else - : - fi;; - esac;; - ppc970) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -mcpu=g5 flags" >&5 -$as_echo_n "checking if $CC supports -mcpu=g5 flags... " >&6; } - SAVE_CFLAGS="$CFLAGS" - CFLAGS="-mcpu=g5" - if test "$cross_compiling" = yes; then : - ac_cv_try_cflags_ok=no -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -main(){exit(0);} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_try_cflags_ok=yes -else - ac_cv_try_cflags_ok=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - CFLAGS="$SAVE_CFLAGS" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_try_cflags_ok" >&5 -$as_echo "$ac_cv_try_cflags_ok" >&6; } - if test x"$ac_cv_try_cflags_ok" = x"yes"; then - CFLAGS="$CFLAGS -mcpu=g5" - else - : - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -mtune=g5 flags" >&5 -$as_echo_n "checking if $CC supports -mtune=g5 flags... " >&6; } - SAVE_CFLAGS="$CFLAGS" - CFLAGS="-mtune=g5" - if test "$cross_compiling" = yes; then : - ac_cv_try_cflags_ok=no -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -main(){exit(0);} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_try_cflags_ok=yes -else - ac_cv_try_cflags_ok=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - CFLAGS="$SAVE_CFLAGS" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_try_cflags_ok" >&5 -$as_echo "$ac_cv_try_cflags_ok" >&6; } - if test x"$ac_cv_try_cflags_ok" = x"yes"; then - CFLAGS="$CFLAGS -mtune=g5" - else - : - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -fast flags" >&5 -$as_echo_n "checking if $CC supports -fast flags... " >&6; } - SAVE_CFLAGS="$CFLAGS" - CFLAGS="-fast" - if test "$cross_compiling" = yes; then : - ac_cv_try_cflags_ok=no -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -main(){exit(0);} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_try_cflags_ok=yes -else - ac_cv_try_cflags_ok=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - CFLAGS="$SAVE_CFLAGS" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_try_cflags_ok" >&5 -$as_echo "$ac_cv_try_cflags_ok" >&6; } - if test x"$ac_cv_try_cflags_ok" = x"yes"; then - CFLAGS="$MORECFLAGS -fast" - else - : - fi;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -mpowerpc flags" >&5 -$as_echo_n "checking if $CC supports -mpowerpc flags... " >&6; } - SAVE_CFLAGS="$CFLAGS" - CFLAGS="-mpowerpc" - if test "$cross_compiling" = yes; then : - ac_cv_try_cflags_ok=no -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -main(){exit(0);} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_try_cflags_ok=yes -else - ac_cv_try_cflags_ok=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - CFLAGS="$SAVE_CFLAGS" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_try_cflags_ok" >&5 -$as_echo "$ac_cv_try_cflags_ok" >&6; } - if test x"$ac_cv_try_cflags_ok" = x"yes"; then - CFLAGS="$CFLAGS -mpowerpc" - else - : - fi;; - esac;; - *osf*) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -fast flags" >&5 -$as_echo_n "checking if $CC supports -fast flags... " >&6; } - SAVE_CFLAGS="$CFLAGS" - CFLAGS="-fast" - if test "$cross_compiling" = yes; then : - ac_cv_try_cflags_ok=no -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -main(){exit(0);} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_try_cflags_ok=yes -else - ac_cv_try_cflags_ok=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - CFLAGS="$SAVE_CFLAGS" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_try_cflags_ok" >&5 -$as_echo "$ac_cv_try_cflags_ok" >&6; } - if test x"$ac_cv_try_cflags_ok" = x"yes"; then - CFLAGS="$CFLAGS -fast" - else - : - fi;; - *sparcv8*|*sparcv9*) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -msupersparc flags" >&5 -$as_echo_n "checking if $CC supports -msupersparc flags... " >&6; } - SAVE_CFLAGS="$CFLAGS" - CFLAGS="-msupersparc" - if test "$cross_compiling" = yes; then : - ac_cv_try_cflags_ok=no -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -main(){exit(0);} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_try_cflags_ok=yes -else - ac_cv_try_cflags_ok=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - CFLAGS="$SAVE_CFLAGS" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_try_cflags_ok" >&5 -$as_echo "$ac_cv_try_cflags_ok" >&6; } - if test x"$ac_cv_try_cflags_ok" = x"yes"; then - CFLAGS="$CFLAGS -msupersparc" - else - : - fi - if test x"$ac_cv_try_cflags_ok" = x"no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -cg92 flags" >&5 -$as_echo_n "checking if $CC supports -cg92 flags... " >&6; } - SAVE_CFLAGS="$CFLAGS" - CFLAGS="-cg92" - if test "$cross_compiling" = yes; then : - ac_cv_try_cflags_ok=no -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -main(){exit(0);} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_try_cflags_ok=yes -else - ac_cv_try_cflags_ok=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - CFLAGS="$SAVE_CFLAGS" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_try_cflags_ok" >&5 -$as_echo "$ac_cv_try_cflags_ok" >&6; } - if test x"$ac_cv_try_cflags_ok" = x"yes"; then - CFLAGS="$CFLAGS -cg92" - else - : - fi - if test x"$ac_cv_try_cflags_ok" = x"no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC supports -xcg92 flags" >&5 -$as_echo_n "checking if $CC supports -xcg92 flags... " >&6; } - SAVE_CFLAGS="$CFLAGS" - CFLAGS="-xcg92" - if test "$cross_compiling" = yes; then : - ac_cv_try_cflags_ok=no -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -main(){exit(0);} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_try_cflags_ok=yes -else - ac_cv_try_cflags_ok=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - CFLAGS="$SAVE_CFLAGS" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_try_cflags_ok" >&5 -$as_echo "$ac_cv_try_cflags_ok" >&6; } - if test x"$ac_cv_try_cflags_ok" = x"yes"; then - CFLAGS="$CFLAGS -xcg92" - else - : - fi - fi - fi;; - esac -fi - -echo CFLAGS=$CFLAGS -echo MORECFLAGS=$MORECFLAGS - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sys/wait.h that is POSIX.1 compatible" >&5 @@ -5945,6 +5456,9 @@ edit_msg="++++++ This file is automatically generated, don't edit it by hand! ++++++" +echo CFLAGS=$CFLAGS +echo MORECFLAGS=$MORECFLAGS + ac_config_files="$ac_config_files makefile:makefile.in nauty.h:nauty-h.in naututil.h:naututil-h.in gtools.h:gtools-h.in" cat >confcache <<\_ACEOF diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nauty26r7/configure.ac new/nauty26r10/configure.ac --- old/nauty26r7/configure.ac 2016-07-19 08:40:16.000000000 +0200 +++ new/nauty26r10/configure.ac 2017-10-14 05:05:35.000000000 +0200 @@ -57,6 +57,26 @@ dnl Checks for system features AC_CANONICAL_HOST +case "$host" in + *powerpc*) + is_powerpc=1 ;; + *) + is_powerpc=0 ;; +esac + +case "$build" in + *cygwin*) + is_cygwin=1 ;; + *) + is_cygwin=0 ;; +esac + +case "$CC" in + gcc*) + gccver=`"$CC" -dumpversion` ;; + *) + gccver=0.0.0 ;; +esac dnl Checks for C compiler and sets CFLAGS if not set by user user_cflags="$CFLAGS" @@ -65,80 +85,23 @@ MORECFLAGS="" dnl we need AC_SYS_LARGEFILE and AC_FUNC_FSEEKO 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) -if test x"$user_cflags" = x"" -o x"$user_cflags" = x-m32 ; then - if test "$CC" = "icc" ; then - AC_TRY_CFLAGS([-O3],[CFLAGS="$CFLAGS -O3"]); - if test x"$ac_cv_try_cflags_ok" = x"no"; then - AC_TRY_CFLAGS([-O2],[CFLAGS="$CFLAGS -O2"],[CFLAGS="$CFLAGS -O"]); - fi - else - AC_TRY_CFLAGS([-O4 -Werror],[CFLAGS="$CFLAGS -O4"]); - if test x"$ac_cv_try_cflags_ok" = x"no"; then - AC_TRY_CFLAGS([-O3],[CFLAGS="$CFLAGS -O3"]); - if test x"$ac_cv_try_cflags_ok" = x"no"; then - AC_TRY_CFLAGS([-O2],[CFLAGS="$CFLAGS -O2"],[CFLAGS="$CFLAGS -O"]); - fi - fi - fi - - if test "$CC" = "gcc" ; then - gccver=`gcc --version 2>/dev/null || echo 0.0.0` - else - gccver=0.0.0 - fi - - is_powerpc=0 - case "$host" in - *i686-apple-darwin*) - AC_TRY_CFLAGS([-fast],[CFLAGS="$MORECFLAGS -fast"]);; - *pentium*solaris*) - ;; - *pentium4*) - AC_TRY_CFLAGS([-march=pentium4],[CFLAGS="$CFLAGS -march=pentium4"]);; - *pentium3*|*i686*|*athlon*) - AC_TRY_CFLAGS([-march=i686],[CFLAGS="$CFLAGS -march=i686"]);; - *pentium2*|*i586*) - AC_TRY_CFLAGS([-march=i586],[CFLAGS="$CFLAGS -march=i586"]);; - *powerpc*) - is_powerpc=1 - 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 - -echo CFLAGS=$CFLAGS -echo MORECFLAGS=$MORECFLAGS +AS_IF([test "x$user_cflags" = x || test "x$user_cflags" = x-m32], +[ + AS_IF([test "$CC" = "icc"], + [AC_TRY_CFLAGS([-O3],[CFLAGS="$CFLAGS -O3"]); + AS_IF([test "x$ac_cv_try_cflags_ok" = xno], + [AC_TRY_CFLAGS([-O2],[CFLAGS="$CFLAGS -O2"],[CFLAGS="$CFLAGS -O"])])], + [AC_TRY_CFLAGS([-O4 -Werror],[CFLAGS="$CFLAGS -O4"]); + AS_IF([test "x$ac_cv_try_cflags_ok" = xno], + [AC_TRY_CFLAGS([-O3],[CFLAGS="$CFLAGS -O3"]) + AS_IF([test "x$ac_cv_try_cflags_ok" = xno], + [AC_TRY_CFLAGS([-O2],[CFLAGS="$CFLAGS -O2"],[CFLAGS="$CFLAGS -O"])]) + ]) + ]) +]) dnl Checks relevant to Cygwin and other Windows things AC_EXEEXT @@ -434,6 +397,9 @@ edit_msg="++++++ This file is automatically generated, don't edit it by hand! ++++++" AC_SUBST(edit_msg) +echo CFLAGS=$CFLAGS +echo MORECFLAGS=$MORECFLAGS + AC_OUTPUT(makefile:makefile.in nauty.h:nauty-h.in naututil.h:naututil-h.in gtools.h:gtools-h.in) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nauty26r7/genbg.c new/nauty26r10/genbg.c --- old/nauty26r7/genbg.c 2016-07-19 08:40:16.000000000 +0200 +++ new/nauty26r10/genbg.c 2017-08-13 00:27:48.000000000 +0200 @@ -23,7 +23,7 @@ -L : there is no vertex in the first class whose removal leaves\n\ the vertices in the second class unreachable from each other\n\ -Z# : two vertices in the second class may have at most # common nbrs\n\ - -A : no vertex in the second class has a neighbourhood whith is a\n\ + -A : no vertex in the second class has a neighbourhood which is a\n\ subset of another vertex in the second class\n\ -D# : specify an upper bound for the maximum degree\n\ Example: -D6. You can also give separate maxima for the\n\ @@ -131,9 +131,9 @@ ************************************************************************** Author: B. D. McKay, Oct 1994. bdm@cs.anu.edu.au - Copyright B. McKay (1994-2008). All rights reserved. + Copyright B. McKay (1994-2016). All rights reserved. This software is subject to the conditions and waivers - detailed in the file nauty.h. + detailed in the file COPYRIGHT. 1 May 2003 : fixed PRUNE feature 13 Sep 2003 : added Greechie output, all outprocs have n1,n2 9 Oct 2003 : changed -l to respect partition diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nauty26r7/gentreeg.c new/nauty26r10/gentreeg.c --- old/nauty26r7/gentreeg.c 2016-07-19 08:40:16.000000000 +0200 +++ new/nauty26r10/gentreeg.c 2017-08-13 00:24:11.000000000 +0200 @@ -1,4 +1,4 @@ -/* gentree version 1.0; Brendan McKay Jan 2016 */ +/* gentree version 1.2; Brendan McKay Aug 2017 */ /* This program is a wrapper for the program FreeTrees.c written * by Gang Li & Frank Ruskey. See below for their original * comments. */ @@ -12,7 +12,7 @@ n : the number of vertices\n\ res/mod : only generate subset res out of subsets 0..mod-1\n\ \n\ - -D# : a upper bound for the maximum degree\n\ + -D# : an upper bound for the maximum degree\n\ -Z#:# : bounds for the diameter\n\ \n\ -s : use sparse6 output (default)\n\ @@ -416,7 +416,6 @@ int splitlevinc; double t1,t2; char msg[201]; - int vpar1[2]; HELP; PUTVERSION; @@ -572,8 +571,18 @@ if (res == 0) { ++nout; - vpar1[1] = 0; - (*outproc)(outfile,vpar1,1); + par[1] = 0; + WriteIt(0); + } + } + else if (nv == 2) + { + if (res == 0) + { + ++nout; + par[1] = 0; + par[2] = 1; + WriteIt(0); } } else @@ -611,7 +620,7 @@ " trees generated in %3.2f sec\n",nout,t2-t1); } -#ifdef GENG_MAIN +#ifdef GENTREEG_MAIN return 0; #else exit(0); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nauty26r7/gtnauty.c new/nauty26r10/gtnauty.c --- old/nauty26r7/gtnauty.c 2016-07-19 08:40:16.000000000 +0200 +++ new/nauty26r10/gtnauty.c 2017-08-13 00:28:49.000000000 +0200 @@ -38,7 +38,7 @@ void setlabptn(int *weight, int *lab, int *ptn, int n) -/* Define (lab,ptn) according to weights. */ +/* Define (lab,ptn) with cells in increasing order of weight. */ { int i; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nauty26r7/gtools-h.in new/nauty26r10/gtools-h.in --- old/nauty26r7/gtools-h.in 2016-07-19 08:40:16.000000000 +0200 +++ new/nauty26r10/gtools-h.in 2017-10-15 04:04:33.000000000 +0200 @@ -83,19 +83,29 @@ #define ABORT(msg) do {exit(1);} while(0) #endif +/* Here we set environment variables that determine the sorting order + for the shortg program. Older docs for sort say that it uses + LC_COLLATE, but the POSIX description of locales says that the + LC_ALL variable takes precedence over LC_COLLATE. To be safe, + we will define both. Also, define this to be nothing if the + variable KEEP_SORT_LOCALE is defined. */ +#ifdef KEEP_SORT_LOCALE +#define SET_C_COLLATION +#else #if PUTENV_DEC && HAVE_PUTENV -#define SET_C_COLLATION putenv("LC_COLLATE=C") +#define SET_C_COLLATION putenv("LC_ALL=C"); putenv("LC_COLLATE=C") #elif SETENV_DEC && HAVE_SETENV -#define SET_C_COLLATION setenv("LC_COLLATE","C",1) +#define SET_C_COLLATION setenv("LC_ALL","C",1); setenv("LC_COLLATE","C",1) #elif HAVE_PUTENV int putenv(char*); -#define SET_C_COLLATION putenv("LC_COLLATE=C") +#define SET_C_COLLATION putenv("LC_ALL=C"); putenv("LC_COLLATE=C") #elif HAVE_SETENV int setenv(const char*,const char*,int); -#define SET_C_COLLATION setenv("LC_COLLATE","C",1) +#define SET_C_COLLATION setenv("LC_ALL","C",1); setenv("LC_COLLATE","C",1) #else #define SET_C_COLLATION #endif +#endif #if HAS_STDIO_UNLOCK && !defined(NAUTY_IN_MAGMA) && !defined(IS_JAVA) #define FLOCKFILE(f) flockfile(f) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nauty26r7/gtools.c new/nauty26r10/gtools.c --- old/nauty26r7/gtools.c 2016-07-19 08:40:16.000000000 +0200 +++ new/nauty26r10/gtools.c 2017-10-14 08:31:51.000000000 +0200 @@ -1,5 +1,5 @@ /* gtools.c : Common routines for gtools programs. */ -/* Version 4.1, Jan 2016. */ +/* Version 4.2, Oct 2017. */ /* Todo: size check if MAXN>0; option to free memory */ @@ -56,6 +56,7 @@ Add checkgline() Version 4.0: Procedures for digraph6 format. Version 4.1: Made encodegraphsize() external. + Version 4.2: Fixes for null graphs; thanks to Kevin Ryde. */ #define B(i) (1 << ((i)-1)) @@ -538,7 +539,7 @@ { count = 0; - for (i = n-1, nb = 0; i != 0 ; i >>= 1, ++nb) {} + for (i = n-1, nb = 0; i > 0 ; i >>= 1, ++nb) {} k = 0; v = 0; done = FALSE; @@ -626,7 +627,8 @@ if (TIMESWORDSIZE(m) < n) gt_abort(">E stringtograph: impossible m value\n"); - for (ii = m*(size_t)n; --ii > 0;) g[ii] = 0; g[0] = 0; + for (ii = m*(size_t)n; --ii > 0;) g[ii] = 0; + g[0] = 0; if (s[0] != ':' && s[0] != '&') /* graph6 format */ { @@ -678,7 +680,7 @@ } else /* sparse6 format */ { - for (i = n-1, nb = 0; i != 0 ; i >>= 1, ++nb) {} + for (i = n-1, nb = 0; i > 0 ; i >>= 1, ++nb) {} k = 0; v = 0; @@ -766,6 +768,7 @@ if (s[0] == ';') { n = prevn; + if (n == 0) return; p = s + 1; for (ii = m*(size_t)n; --ii > 0;) g[ii] = prevg[ii]; g[0] = prevg[0]; @@ -773,13 +776,12 @@ else { n = graphsize(s); + if (n == 0) return; p = s + (s[0] == ':' || s[0] == '&') + SIZELEN(n); for (ii = m*(size_t)n; --ii > 0;) g[ii] = 0; g[0] = 0; } - if (n == 0) return; - if (TIMESWORDSIZE(m) < n) gt_abort(">E stringtograph_inc: impossible m value\n"); @@ -1216,11 +1218,11 @@ } } - v[0] = 0; - for (i = 1; i < n; ++i) v[i] = v[i-1]+d[i-1]; - nde = v[n-1]+d[n-1]; - for (i = 0; i < n; ++i) d[i] = 0; - + nde = 0; + for (i = 0; i < n; ++i) + { + v[i] = nde; nde += d[i]; d[i] = 0; + } sg->nde = nde; DYNALLOC1(int,sg->e,sg->elen,nde,"stringtosparsegraph"); e = sg->e; @@ -1269,11 +1271,11 @@ } } - v[0] = 0; - for (i = 1; i < n; ++i) v[i] = v[i-1]+d[i-1]; - nde = v[n-1]+d[n-1]; - for (i = 0; i < n; ++i) d[i] = 0; - + nde = 0; + for (i = 0; i < n; ++i) + { + v[i] = nde; nde += d[i]; d[i] = 0; + } sg->nde = nde; DYNALLOC1(int,sg->e,sg->elen,nde,"stringtosparsegraph"); e = sg->e; @@ -1303,7 +1305,7 @@ } else /* sparse6 format */ { - for (i = n-1, nb = 0; i != 0 ; i >>= 1, ++nb) {} + for (i = n-1, nb = 0; i > 0 ; i >>= 1, ++nb) {} p = q; @@ -1368,11 +1370,11 @@ } } - v[0] = 0; - for (i = 1; i < n; ++i) v[i] = v[i-1]+d[i-1]; - nde = v[n-1]+d[n-1]; - for (i = 0; i < n; ++i) d[i] = 0; - + nde = 0; + for (i = 0; i < n; ++i) + { + v[i] = nde; nde += d[i]; d[i] = 0; + } sg->nde = nde; DYNALLOC1(int,sg->e,sg->elen,nde,"stringtosparsegraph"); e = sg->e; @@ -1667,7 +1669,7 @@ p = gcode+1; encodegraphsize(n,&p); - for (i = n-1, nb = 0; i != 0 ; i >>= 1, ++nb) + for (i = n-1, nb = 0; i > 0 ; i >>= 1, ++nb) {} topbit = 1 << (nb-1); k = 6; @@ -1784,7 +1786,7 @@ gcode[0] = ';'; p = gcode+1; - for (i = n-1, nb = 0; i != 0 ; i >>= 1, ++nb) + for (i = n-1, nb = 0; i > 0 ; i >>= 1, ++nb) {} topbit = 1 << (nb-1); k = 6; @@ -1902,7 +1904,7 @@ SG_VDE(sg,v,d,e); n = sg->nv; - for (i = n-1, nb = 0; i != 0 ; i >>= 1, ++nb) {} + for (i = n-1, nb = 0; i > 0 ; i >>= 1, ++nb) {} ii = (size_t)(nb+1)*(n/6+sg->nde/3); DYNALLOC1(char,gcode,gcode_sz,ii+1000,"sgtos6"); @@ -2694,6 +2696,53 @@ return; } ++s; + } + fprintf(stderr,">E %s: too many values\n",id); + gt_abort(NULL); +} + +/************************************************************************/ + +void +arg_sequence_min(char **ps, char *sep, + long *val, int minvals, int maxvals, int *numvals, char *id) +{ + int code,ival; + char *s; + + s = *ps; + + for (ival = 0; ival < maxvals; ++ival) + { + code = longvalue(&s,&val[ival]); + if (code == ARG_ILLEGAL) + { + fprintf(stderr,">E %s: illegal value\n",id); + gt_abort(NULL); + } + else if (code == ARG_TOOBIG) + { + fprintf(stderr,">E %s: value too big\n",id); + gt_abort(NULL); + } + else if (code == ARG_MISSING) + { + fprintf(stderr,">E %s: value missing\n",id); + gt_abort(NULL); + } + + if (*s == '\0' || !strhaschar(sep,*s)) + { + *numvals = ival+1; + *ps = s; + if (*numvals < minvals) + { + fprintf(stderr,">E %s: too few values\n",id); + gt_abort(NULL); + } + return; + } + ++s; } fprintf(stderr,">E %s: too many values\n",id); gt_abort(NULL); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nauty26r7/nauty-h.in new/nauty26r10/nauty-h.in --- old/nauty26r7/nauty-h.in 2016-07-19 08:40:16.000000000 +0200 +++ new/nauty26r10/nauty-h.in 2017-08-13 00:19:07.000000000 +0200 @@ -60,7 +60,7 @@ _mm_popcnt_u32, _mm_popcnt_u64 for the Intel compiler icc. These need no compiler switch. */ -#define HAVE_HWPOPCMT @have_hwpopcnt@ +#define HAVE_HWPOPCNT @have_hwpopcnt@ #define HAVE_POPCNT @have_popcnt@ #define HAVE_POPCNTL @have_popcntl@ #define HAVE_POPCNTLL @have_popcntll@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nauty26r7/nauty.h new/nauty26r10/nauty.h --- old/nauty26r7/nauty.h 2016-07-19 08:40:18.000000000 +0200 +++ new/nauty26r10/nauty.h 2017-08-13 00:18:59.000000000 +0200 @@ -60,7 +60,7 @@ _mm_popcnt_u32, _mm_popcnt_u64 for the Intel compiler icc. These need no compiler switch. */ -#define HAVE_HWPOPCMT 0 +#define HAVE_HWPOPCNT 0 #define HAVE_POPCNT 0 #define HAVE_POPCNTL 0 #define HAVE_POPCNTLL 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nauty26r7/showg.c new/nauty26r10/showg.c --- old/nauty26r7/showg.c 2016-07-19 08:40:16.000000000 +0200 +++ new/nauty26r10/showg.c 2017-08-25 02:26:41.000000000 +0200 @@ -1,4 +1,4 @@ -/* showg.c version 2.0; B D McKay, June 2015. +/* showg.c version 2.1; B D McKay, August 2017. Formerly called readg.c. This is a stand-alone edition of listg.c that does not @@ -10,7 +10,8 @@ #define HELPTEXT \ " Write graphs in human-readable format.\n\ \n\ - infile is the input file in graph6 or sparse6 format\n\ + infile is the input file in graph6, sparse6 or digraph6 format\n\ + This program does not support incremental sparse6 files; use listg.\n\ outfile is the output file\n\ Defaults are standard input and standard output.\n\ \n\ @@ -44,6 +45,7 @@ Version 1.6: Very minor tweaks. Hope you all have string.h. Sep 6, 2009. Version 1.7: Make it work for n=0. Sep 18, 2013. Version 2.0: Support digraph6 format. + Version 2.1: Fix digraph6 format and remove limit of 200K or so vertices. */ /*************************************************************************/ @@ -56,12 +58,28 @@ #ifndef MAXN #define MAXN 0 #endif -#define G6LEN(n) (SIZELEN(n) \ - + ((size_t)(n)/12)*((size_t)(n)-1) + (((size_t)(n)%12)*((size_t)(n)-1)+11)/12) -#define D6LEN(n) (1 + SIZELEN(n) \ - + (n)*(size_t)((n)/6) + (((n)*(size_t)((n)%6)+5)/6)) -/* Exact lengths of graph6 and digraph6 formats, excluding '\n' and '\0'. */ + +#define BIAS6 63 +#define MAXBYTE 126 +#define SMALLN 62 +#define SMALLISHN 258047 +#define TOPBIT6 32 +#define C6MASK 63 + #define SIZELEN(n) ((n)<=SMALLN?1:((n)<=SMALLISHN?4:8)) + /* length of size code in bytes */ +#define G6BODYLEN(n) \ + (((size_t)(n)/12)*((size_t)(n)-1) + (((size_t)(n)%12)*((size_t)(n)-1)+11)/12) +#define G6LEN(n) (SIZELEN(n) + G6BODYLEN(n)) + /* exact graph6 string length excluding \n\0 + This twisted expression works up to n=227023 in 32-bit arithmetic + and for larger n if size_t has 64 bits. */ +#define D6BODYLEN(n) \ + ((n)*(size_t)((n)/6) + (((n)*(size_t)((n)%6)+5)/6)) +#define D6LEN(n) (1 + SIZELEN(n) + D6BODYLEN(n)) + /* exact digraph6 string length excluding \n\0 + This twisted expression works up to n=160529 in 32-bit arithmetic + and for larger n if size_t has 64 bits. */ #define B(i) (1 << ((i)-1)) #define M(i) ((1 << (i))-1) @@ -78,13 +96,6 @@ /* extern long ftell(FILE*); Should be in stdio.h */ -#define BIAS6 63 -#define MAXBYTE 126 -#define SMALLN 62 -#define SMALLISHN 258047 -#define TOPBIT6 32 -#define C6MASK 63 - #define GRAPH6_HEADER ">>graph6<<" #define SPARSE6_HEADER ">>sparse6<<" #define DIGRAPH6_HEADER ">>sparse6<<" @@ -508,22 +519,34 @@ /****************************************************************************/ -static int +int graphsize(char *s) -/* Get size of graph out of graph6 or sparse6 string. */ +/* Get size of graph out of graph6, digraph6 or sparse6 string. */ { char *p; int n; - if (s[0] == ':') p = s+1; - else p = s; + if (s[0] == ':' || s[0] == '&') p = s+1; + else p = s; n = *p++ - BIAS6; - if (n > SMALLN) + if (n > SMALLN) { n = *p++ - BIAS6; - n = (n << 6) | (*p++ - BIAS6); - n = (n << 6) | (*p++ - BIAS6); + if (n > SMALLN) + { + n = *p++ - BIAS6; + n = (n << 6) | (*p++ - BIAS6); + n = (n << 6) | (*p++ - BIAS6); + n = (n << 6) | (*p++ - BIAS6); + n = (n << 6) | (*p++ - BIAS6); + n = (n << 6) | (*p++ - BIAS6); + } + else + { + n = (n << 6) | (*p++ - BIAS6); + n = (n << 6) | (*p++ - BIAS6); + } } return n; } @@ -549,7 +572,8 @@ if (TIMESWORDSIZE(m) < n) gt_abort(">E stringtograph: impossible m value\n"); - for (ii = m*(size_t)n; --ii > 0;) g[ii] = 0; g[0] = 0; + for (ii = m*(size_t)n; --ii > 0;) g[ii] = 0; + g[0] = 0; if (s[0] != ':' && s[0] != '&') /* graph6 format */ {