GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
#ifdef __cplusplus1extern "C" {2#endif34#ifndef _NAME_H_5#define _NAME_H_67#ifndef _CARAT_TYPEDEF_H8#include "typedef.h"9#endif1011#ifndef _GMP_H12#include "gmp.h"13#endif141516#define EXIT_SUCCESS 017#define EXIT_FAILURE 11819/* I tried to make the program as modular as possible.20So I hope that it will be easy to expand the entries21of the database. ...22*/2324#define ALL_MATCH 655352526#define NR_OF_ELEMENTS_IN_EACH_ENTRY 102728#define COND_ABBREVIATION 029#define COND_DEGREE 130#define COND_SYMBOL 231#define COND_ORDER 332#define COND_DISCRIMINANT 433#define COND_ZCLASSES 534#define COND_AFFINE 635#define COND_TORSIONFREE 736#define COND_NO_CONCLASS 837#define COND_NO_IDEM 93839#define SET_COND 040#define DEL_COND 141#define DISPLAY_POSSIBLE 24243typedef struct44{45char *abbreviation; /* filename of the group*/46int degree; /* dimension of the group */47char *symbol; /* family symbol */48int order;49char *discriminant;50int zclasses; /* number of Z-classes in the Q-class */51int affine; /* number of affine classes in the Q-class */52int torsionfree; /* number of torsionfree affine classes */53int no_conclass; /* number of conjugacy classes in group. */54int no_idem; /* number of conjugacy classes in group. */55} entry;5657typedef struct58{59long nr;60entry *entry;61} database;6263typedef struct64{65entry entry;66int *exists;67} conditions;6869#ifdef __STDC__7071/*************************************************************************72| FILE : HM_symbol.c73**************************************************************************/7475void display_HM_symbol(char *qname,76int zname1,77int zname2,78MP_INT *aff_name);7980/*************************************************************************81| FILE : Q_catalog.c82**************************************************************************/83extern void (*(display_element [NR_OF_ELEMENTS_IN_EACH_ENTRY])) (entry *data);84extern void (*(load_element [NR_OF_ELEMENTS_IN_EACH_ENTRY])) (const char *string, entry *data);85extern void (*(delete_element [NR_OF_ELEMENTS_IN_EACH_ENTRY])) (entry *data);86extern int (*(compare_element [NR_OF_ELEMENTS_IN_EACH_ENTRY])) (entry *data1, entry *data287);88extern const char *name_element [NR_OF_ELEMENTS_IN_EACH_ENTRY];8990void apply_cond_to_display_list (conditions *cond,91database *database,92int display_list[],93int new_condition);9495void unapply_cond_to_display_list (database *database,96int display_list[],97int unset_condition);9899void display_data_list (database *datas,100int display_list[]);101102database *load_database (const char *filename,103int degree);104105void free_database (database *datas);106107/*************************************************************************108| FILE : aff_class_inf.c109**************************************************************************/110111matrix_TYP *aff_class_inf(bravais_TYP *R,112bravais_TYP *DATAZ,113matrix_TYP *PRES,114MP_INT *aff_name,115bravais_TYP **RC);116117void extend(matrix_TYP *T);118119bravais_TYP *space_group_from_matrix(bravais_TYP *G,120matrix_TYP *x,121matrix_TYP *cocycle,122matrix_TYP *D);123124125/*************************************************************************126| FILE: compute_q_matrix.c127**************************************************************************/128129matrix_TYP *compute_q_matrix (bravais_TYP *G);130131/*************************************************************************132| FILE: point_group.c133**************************************************************************/134135bravais_TYP *point_group(bravais_TYP *R,136int opt);137138/*************************************************************************139| FILE: q_class_inf.c140**************************************************************************/141142matrix_TYP *q_class_inf (bravais_TYP *G,143database *database,144char *qclass_name,145char *symbol,146bravais_TYP **OUT,147matrix_TYP **PRES,148int transformation);149150/*************************************************************************151| FILE: z_class_inf.c152**************************************************************************/153154matrix_TYP *z_class_inf(bravais_TYP *G,155bravais_TYP *DATABASEGROUP,156bravais_TYP **RES,157int *name);158159/*************************************************************************160| FILE: reverse_name_fct.c161**************************************************************************/162163bravais_TYP *get_qclass_by_name(char *name,164matrix_TYP **PRES,165int dim);166167bravais_TYP *get_zclass_by_name(bravais_TYP *G,168int *first,169int *second,170int ignore);171172bravais_TYP *split_extension(bravais_TYP *G);173174bravais_TYP *get_affine_class_by_name(bravais_TYP *G,175matrix_TYP *PRES,176MP_INT *aff_name,177int check);178179bravais_TYP *reverse_name(char *qname,180int zname[2],181MP_INT aff_name,182int i,183boolean iflag,184char **affstring);185186#else187188189/*************************************************************************190| FILE : HM_symbol.c191**************************************************************************/192193void display_HM_symbol();194195/*************************************************************************196| FILE : Q_catalog.c197**************************************************************************/198extern void ();199200void unapply_cond_to_display_list ();201202void display_data_list ();203204database *load_database ();205206void free_database ();207208209/*************************************************************************210| FILE : aff_class_inf.c211**************************************************************************/212213matrix_TYP *aff_class_inf();214215void extend();216217bravais_TYP *space_group_from_matrix();218219/*************************************************************************220| FILE: compute_q_matrix.c221**************************************************************************/222223matrix_TYP *compute_q_matrix ();224225/*************************************************************************226| FILE: point_group.c227**************************************************************************/228229bravais_TYP *point_group();230231/*************************************************************************232| FILE: q_class_inf.c233**************************************************************************/234235matrix_TYP *q_class_inf ();236237/*************************************************************************238| FILE: z_class_inf.c239**************************************************************************/240241matrix_TYP *z_class_inf();242243/*************************************************************************244| FILE: reverse_name_fct.c245**************************************************************************/246247bravais_TYP *get_qclass_by_name();248249bravais_TYP *get_zclass_by_name();250251bravais_TYP *split_extension();252253bravais_TYP *get_affine_class_by_name();254255bravais_TYP *reverse_name();256257#endif258259#endif260261#ifdef __cplusplus262}263#endif264265266