From d979dc92d20587581432a40c5cc9be1335e73ff7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franz=20G=C3=A4hler?= Date: Fri, 30 Nov 2018 15:04:50 +0100 Subject: [PATCH] Uninitialized variable leads to silly numbering of Z-classes (#10) * Uninitialized variable leads to silly numbering of Z-classes * testfile for bugfix * fix numbering of homogeneously decomposable groups --- functions/ZZ/q2z.c | 5 +++-- src/qtoz.c | 2 +- tst/QtoZ.out | 23 +++++++++++++++++++++++ tst/QtoZ.tst | 2 ++ tst/grp2.dat | 4 ++++ 5 files changed, 33 insertions(+), 3 deletions(-) create mode 100644 tst/QtoZ.out create mode 100644 tst/QtoZ.tst create mode 100644 tst/grp2.dat diff --git a/functions/ZZ/q2z.c b/functions/ZZ/q2z.c index f68293a..a463270 100644 --- a/functions/ZZ/q2z.c +++ b/functions/ZZ/q2z.c @@ -11,7 +11,7 @@ #include "ZZ_zclass_P.h" #include "ZZ_cen_fun_P.h" #include "graph.h" - +#include "datei.h" int IDEM_NO; extern int INFO_LEVEL; @@ -615,8 +615,9 @@ bravais_TYP **q2z(bravais_TYP *G, for (i = 0;i<100 ; l = l && G->divisors[i] == 0, i++); if ((k && G->dim > 4) || (k && l )){ - GROUPS = (bravais_TYP **) malloc(1 * sizeof(bravais_TYP *)); + GROUPS = (bravais_TYP **) malloc(2 * sizeof(bravais_TYP *)); GROUPS[0] = copy_bravais(G); + GROUPS[1] = (bravais_TYP * ) 1; if (GROUPS[0]->normal && GROUPS[0]->normal_no > 0){ for (k=0;knormal_no;k++) free_mat(GROUPS[0]->normal[i]); free(GROUPS[0]->normal); diff --git a/src/qtoz.c b/src/qtoz.c index 8316bf8..33a496b 100644 --- a/src/qtoz.c +++ b/src/qtoz.c @@ -19,7 +19,7 @@ int main(int argc,char **argv){ int i, no, adnumber = 0, - second_number; + second_number = 0; char comment[1000], file[1000]; diff --git a/tst/QtoZ.out b/tst/QtoZ.out new file mode 100644 index 0000000..336d07a --- /dev/null +++ b/tst/QtoZ.out @@ -0,0 +1,23 @@ +####### There are 1 classes of groups +#g1 f3 n4 % 1-th homogenously dec. group, 1 zclass +2 % generator + 1 0 + 0 1 +2d1 % invariant form +1 0 +2x0 % invariant form + 0 + 1 0 +2d1 % invariant form +0 1 +2d1 % generator of normalizer +-1 1 +2 % generator of normalizer + 1 1 + 0 1 +2x0 % generator of normalizer + 0 + 1 0 +2x0 % generator of normalizer + 0 + 1 0 diff --git a/tst/QtoZ.tst b/tst/QtoZ.tst new file mode 100644 index 0000000..f72ffd7 --- /dev/null +++ b/tst/QtoZ.tst @@ -0,0 +1,2 @@ +# Testing numbering of Z-classes +../bin/carat/QtoZ grp2.dat diff --git a/tst/grp2.dat b/tst/grp2.dat new file mode 100644 index 0000000..5c58fd3 --- /dev/null +++ b/tst/grp2.dat @@ -0,0 +1,4 @@ +#g1 +2 % generator + 1 0 + 0 1