triangle_reflection_complex/coxeter.h

30 lines
569 B
C

#ifndef COXETER_H
#define COXETER_H
#include <inttypes.h>
typedef struct _groupelement {
int id;
int letter;
struct _groupelement *parent;
int length;
struct _groupelement *inverse;
struct _groupelement **left;
struct _groupelement **right;
} groupelement_t;
typedef struct _group {
int rank;
int *coxeter_matrix;
int size;
groupelement_t *elements;
groupelement_t **lists;
} group_t;
group_t *coxeter_init(int rank, int *coxeter_matrix, int nmax);
group_t *coxeter_init_triangle(int p, int q, int r, int nmax);
void coxeter_clear(group_t *g);
#endif