From isuruf at gmail.com Sun Sep 16 13:31:35 2018 From: isuruf at gmail.com (Isuru Fernando) Date: Sat, 15 Sep 2018 22:31:35 -0500 Subject: [Nauty] Building on windows with clang-cl Message-ID: Hi, I'm trying to build nauty 2.6r11 on windows with tools from clang and had to apply the following patches. - Remove min and max, because they are macros in windows. https://github.com/conda-forge/nauty-feedstock/blob/c6a229e76399dce98c23c703661ec02ce3d8589b/recipe/minmax.patch - Allow the archiver to be configurable. https://github.com/conda-forge/nauty-feedstock/blob/c6a229e76399dce98c23c703661ec02ce3d8589b/recipe/ar.patch Tests pass except for the 3 tests using countg and pickg. They fail with "cannot run on this machine". This is due to the fact that on windows sizeof(long) != sizeof(void*), but have sizeof(long long) != sizeof(void*). Is there a way to make countg and pickg work on windows? Thanks, Isuru From Brendan.McKay at anu.edu.au Sun Sep 16 16:27:05 2018 From: Brendan.McKay at anu.edu.au (Brendan McKay) Date: Sun, 16 Sep 2018 16:27:05 +1000 Subject: [Nauty] Building on windows with clang-cl In-Reply-To: References: Message-ID: Hi Isuru, Thanks for your mail. min+max:? I think that's a C standard violation but we will avoid it by renaming our functions AR:? good idea, I'll do it sizeof(long): yes, it is a bug.? I need to store a long or a pointer in the same place.? I'll work on this soon, probably using a union type. Brendan. On 16/9/18 1:31 pm, Isuru Fernando wrote: > Hi, > > I'm trying to build nauty 2.6r11 on windows with tools from clang and had > to apply the following patches. > > - Remove min and max, because they are macros in windows. > https://github.com/conda-forge/nauty-feedstock/blob/c6a229e76399dce98c23c703661ec02ce3d8589b/recipe/minmax.patch > - Allow the archiver to be configurable. > https://github.com/conda-forge/nauty-feedstock/blob/c6a229e76399dce98c23c703661ec02ce3d8589b/recipe/ar.patch > > Tests pass except for the 3 tests using countg and pickg. They fail with > "cannot run on this machine". This is due to the fact that on windows > sizeof(long) != sizeof(void*), but have sizeof(long long) != sizeof(void*). > Is there a way to make countg and pickg work on windows? > > Thanks, > Isuru > _______________________________________________ > Nauty mailing list > Nauty at anu.edu.au > http://mailman.anu.edu.au/mailman/listinfo/nauty From Brendan.McKay at anu.edu.au Wed Sep 26 12:25:25 2018 From: Brendan.McKay at anu.edu.au (Brendan McKay) Date: Wed, 26 Sep 2018 12:25:25 +1000 Subject: [Nauty] Version 2.7 will soon be the official version, with your help Message-ID: We are working towards making nauty 2.7 (incorporating traces 2.2) the official release. Accordingly, release candidate nauty27rc1 is available at http://users.cecs.anu.edu.au/~bdm/nauty/ http://pallini.di.uniroma1.it We would like to encourage you to try this version and report any problems you encounter (even minor problems). A list of the main changes is below. Brendan McKay and Adolfo Piperno ------------------- * -h and -k options for independent set size and clique size were added ? to countg and pickg.? For some graphs these use the program cliquer, ? kindly provided by Sampo Nisjkanen and Patric Ostergard. * Macros SWHIBIT, REMOVEHIBIT and ATMOSTONEBIT added to nauty.h. * Added option -a to complg. * Program copyg can now be used to make a simple filter.? See the ? instructions inside the source file and the example numleaves.c. * Programs countg and pickg can now display some parameter values ? as ranges instead of writing a separate line for each value. For ? example, countg --ne:T will write a separate line for each number ? of vertices and edges, with that line showing the range of the ? number of triangles. Everything after the ':' is shown as a range. ? There is also a switch -1 that causes output to be in a simple ? numerical table easy to read from a program and a similar switch ? -2 that omits counts. * Program vcolg now handles digraphs and graphs with loops. * genrang can now make random spanning trees of K(n1,n2) * amtog has an "s" command for reading tournaments * The configure script (compiled from configure.ac) was modified to ? update some tests and remove some old code that is useless. The ? time-critical parts of nauty are now compiled with ???? -march=native ? if the compiler allows those switches. Since this may result in ? a binary which does not run on older machines in the same family, ? there is a configuration option? --enable-generic? to disable ? these switches.? To work around a bug with -march-native for ? gcc version 7 on MacOSX computers (due to the linker not knowing ? some of the instructions), the extra switch -mno-avx is also added ? if it appears necessary. * genspecialg can now make multiple special graphs at once. ? The -b option has been extended to allow removing a matching from ? a complete bipartite graph. * watercluster2 has an option Z to write in digraph6 format. * Problems for 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.? However, the primary function nauty() ? (but not traces()) should work for both dense and sparse versions. * 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). * The bipartite graph generator genbg now has a -Y switch to ? specify the minimum number of common neighbours for two ? vertices on the second side. * A new version of Traces (including some bug fixes) is included. ? See traces.c for more. * New utilities: underlyingg takes the undirected graph underlying ? a graph or digraph.? assembleg combines a file of graphs (usually ? connected graphs) as components to make disconnected graphs ? of a specified size. * geng has been modified to allow more than 32 vertices.? The ? makefile knows "geng" for up to 32 vertices, and "gengL" for ? up to 64 vertices. * pickg and countg now have -X to reverse the selection. ? A change was made to allow these utilities to work on Windows ? computers with sizeof(long) < sizeof(void*).? Also, pickg ? now writes a header if there is one in the input file. * listg has -L that can be used in conjunction with -W or -M to ? write the Laplacian matrix instead of the adjacency matrix. * Fixed a possible bug in the combination "shortg -kt". * You can change the archive manager (default "ar") by defining ? the environment variable AR at configure time. From isuruf at gmail.com Wed Sep 26 16:54:48 2018 From: isuruf at gmail.com (Isuru Fernando) Date: Wed, 26 Sep 2018 01:54:48 -0500 Subject: [Nauty] Version 2.7 will soon be the official version, with your help In-Reply-To: References: Message-ID: Hi, Thanks for including the fixes for Windows in this release. I had to apply the following patch to remove timing structs, https://github.com/isuruf/nauty-feedstock/blob/8bcacc4dbcc9c7aa0c9c675edcf7e4da4cd00a0d/recipe/time.diff, but other than that building nauty went smoothly and tests all pass on windows with clang-cl. I also tried building it on Mac OSX 10.10 and Ubuntu 18.04 and the test suite passed on both systems as well. Isuru On Tue, Sep 25, 2018 at 9:42 PM Brendan McKay wrote: > We are working towards making nauty 2.7 > (incorporating traces 2.2) the official release. > > Accordingly, release candidate nauty27rc1 is available at > http://users.cecs.anu.edu.au/~bdm/nauty/ > http://pallini.di.uniroma1.it > > We would like to encourage you to try this version and report any > problems you encounter (even minor problems). > > A list of the main changes is below. > > Brendan McKay and Adolfo Piperno > > ------------------- > > * -h and -k options for independent set size and clique size were added > to countg and pickg. For some graphs these use the program cliquer, > kindly provided by Sampo Nisjkanen and Patric Ostergard. > > * Macros SWHIBIT, REMOVEHIBIT and ATMOSTONEBIT added to nauty.h. > > * Added option -a to complg. > > * Program copyg can now be used to make a simple filter. See the > instructions inside the source file and the example numleaves.c. > > * Programs countg and pickg can now display some parameter values > as ranges instead of writing a separate line for each value. For > example, countg --ne:T will write a separate line for each number > of vertices and edges, with that line showing the range of the > number of triangles. Everything after the ':' is shown as a range. > There is also a switch -1 that causes output to be in a simple > numerical table easy to read from a program and a similar switch > -2 that omits counts. > > * Program vcolg now handles digraphs and graphs with loops. > > * genrang can now make random spanning trees of K(n1,n2) > > * amtog has an "s" command for reading tournaments > > * The configure script (compiled from configure.ac) was modified to > update some tests and remove some old code that is useless. The > time-critical parts of nauty are now compiled with > -march=native > if the compiler allows those switches. Since this may result in > a binary which does not run on older machines in the same family, > there is a configuration option --enable-generic to disable > these switches. To work around a bug with -march-native for > gcc version 7 on MacOSX computers (due to the linker not knowing > some of the instructions), the extra switch -mno-avx is also added > if it appears necessary. > > * genspecialg can now make multiple special graphs at once. > The -b option has been extended to allow removing a matching from > a complete bipartite graph. > > * watercluster2 has an option Z to write in digraph6 format. > > * Problems for 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. However, the primary function nauty() > (but not traces()) should work for both dense and sparse versions. > > * 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). > > * The bipartite graph generator genbg now has a -Y switch to > specify the minimum number of common neighbours for two > vertices on the second side. > > * A new version of Traces (including some bug fixes) is included. > See traces.c for more. > > * New utilities: underlyingg takes the undirected graph underlying > a graph or digraph. assembleg combines a file of graphs (usually > connected graphs) as components to make disconnected graphs > of a specified size. > > * geng has been modified to allow more than 32 vertices. The > makefile knows "geng" for up to 32 vertices, and "gengL" for > up to 64 vertices. > > * pickg and countg now have -X to reverse the selection. > A change was made to allow these utilities to work on Windows > computers with sizeof(long) < sizeof(void*). Also, pickg > now writes a header if there is one in the input file. > > * listg has -L that can be used in conjunction with -W or -M to > write the Laplacian matrix instead of the adjacency matrix. > > * Fixed a possible bug in the combination "shortg -kt". > > * You can change the archive manager (default "ar") by defining > the environment variable AR at configure time. > > _______________________________________________ > Nauty mailing list > Nauty at anu.edu.au > http://mailman.anu.edu.au/mailman/listinfo/nauty > From stoi at tu-sofia.bg Sat Sep 29 05:37:47 2018 From: stoi at tu-sofia.bg (stoi) Date: Fri, 28 Sep 2018 22:37:47 +0300 Subject: [Nauty] set of graphs Message-ID: Hi, How can I run nauty and Traces on a set of graphs? Best, Stoicho Stoichev