diff options
Diffstat (limited to 'graph-checker/nauty/naugroup.h')
| -rw-r--r-- | graph-checker/nauty/naugroup.h | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/graph-checker/nauty/naugroup.h b/graph-checker/nauty/naugroup.h new file mode 100644 index 0000000..a43c262 --- /dev/null +++ b/graph-checker/nauty/naugroup.h @@ -0,0 +1,55 @@ +/* naugroup.h + +Procedures for handling groups found by nauty. +*/ + +#include "nauty.h" + +typedef struct perm_struct +{ + struct perm_struct *ptr; /* general-purpose pointer */ + int p[2]; /* extendable section */ +} permrec; + +typedef struct coset_struct +{ + int image; /* image of fixed point */ + permrec *rep; /* pointer to a representative */ +} cosetrec; + +typedef struct level_struct +{ + int fixedpt; /* point that is fixed in this level */ + int orbitsize; /* the size of the orbit containing fixedpt */ + permrec *gens; /* pointer to list of generators */ + cosetrec *replist; /* array of orbitsize representatives */ +} levelrec; + +typedef struct group_struct +{ + int n; /* number of points */ + int numorbits; /* number of orbits */ + int depth; /* number of points in base */ + levelrec levelinfo[1]; /* extendable section */ +} grouprec; + +#ifdef __cplusplus +extern "C" { +#endif + +extern void freepermrec(permrec*, int); +extern grouprec *groupptr(boolean); +extern permrec *newpermrec(int); +extern void groupautomproc(int,int*,int*,int,int,int); +extern void + grouplevelproc(int*,int*,int,int*,statsblk*,int,int,int,int,int,int); +extern void makecosetreps(grouprec*); +extern int permcycles(int*,int,int*,boolean); +extern void allgroup(grouprec*,void(*)(int*,int)); +extern int allgroup2(grouprec*,void(*)(int*,int,int*)); +extern int allgroup3(grouprec*,void(*)(int*,int,int*,void*),void*); +extern void freegroup(grouprec*); + +#ifdef __cplusplus +} +#endif |