#ifndef ENUMERATE_TRIANGLE_GROUP_H #define ENUMERATE_TRIANGLE_GROUP_H #include "mat.h" #include "coxeter.h" #include int solve_characteristic_polynomial(mps_context *solv, mps_monomial_poly *poly, mpq_t tr, mpq_t trinv, double *eigenvalues); void continued_fraction_approximation(mpq_t out, double in, int level); void quartic(mpq_t out, mpq_t in, int a, int b, int c, int d, int e); // p1,p2,p3 are only allowed to be 2,3,4,6 void initialize_triangle_generators(mat_workspace *ws, mat *gen, int p1, int p2, int p3, mpq_t s, mpq_t q); char *print_word(groupelement_t *g, char *str); void enumerate(group_t *group, mat *matrices, int p1, int p2, int p3, mpq_t s, mpq_t t); #endif