GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
#ifdef __cplusplus1extern "C" {2#endif345#ifndef _CARAT_TYPEDEF_H_6#define _CARAT_TYPEDEF_H_78/* enthaelt die globalen Variablen - und Typendeklarationen */9#include <stdio.h>10#include <stdlib.h>11#include <math.h>12#include <malloc.h>13#include <memory.h>14#include <string.h>15#include <ctype.h>16#include<signal.h>17#ifdef __STDC__18#include <stdarg.h>19#else20#include<varargs.h>21#endif2223#include "m_alloc.h"2425#define TRUE 126#define FALSE 02728#define EXT_SIZE 10029#define extsize1 3030#define MAXDIM 63132typedef int boolean;33typedef struct { int z; int n; } rational;34typedef struct { int ggt, f1, f2; int alt, g1, g2; } pair;3536typedef struct {37int **SZ;38int **N;39} array_TYP;4041typedef struct {42int Integral ,43Symmetric,44Diagonal ,45Scalar ;46} flag_TYP;4748typedef struct {49flag_TYP flags;50int cols, rows;51int kgv;52int prime;53array_TYP array;54} matrix_TYP;555657typedef struct {58int dim;59int gen_no;60int order;61int divisors[100];62int form_no;63int zentr_no;64int normal_no;65int cen_no;66matrix_TYP **gen;67matrix_TYP **form;68matrix_TYP **zentr;69matrix_TYP **normal;70matrix_TYP **cen;71} bravais_TYP;7273typedef struct {74bravais_TYP *grp;75char *fn;76} symbol_out;7778typedef struct {79int *v;80int dim;81int *wall;82int wall_no;83int wall_SIZE;84} vertex_TYP;8586/* inserted tilman 16/07/97 to add more functionality for anne's programs */87typedef struct{88int dim;89int *word;90matrix_TYP *trans;91} word_TYP;9293typedef struct{94int *gl;95int dim;96int *product;97int nproduct;98int norm; /* next 4 lines inserted by anne, 8/10/97 */99int next_no; /* Anzahl der Nachbarwaende */100int **next; /* Gleichungen der Nachbarwaende */101int ext_no; /* Anzahl der virtuellen Waende */102int **extra; /* Gleichungen der virtuellen Waende */103int neu; /* neu[i] = 0 falls die Wand neu hinzugekommen ist */104int paar; /* No. der zu dieser Wand gepaarten Wand */105matrix_TYP *mat; /* Seitentransformation */106word_TYP *word; /* Wort der Seitentrafo in den Gruppenerzeugern */107}wall_TYP;108109/* next 5 lines inserted by anne, 8/10/98 */110typedef struct{111int w[2];112int *v;113int v_anz;114} corner_TYP;115116typedef struct {117vertex_TYP **vert;118int vert_no;119int vert_SIZE;120wall_TYP **wall;121int wall_no;122int wall_SIZE;123corner_TYP *corner; /* next 3 lines inserted by anne, 8/10/98 */124int corner_no;125int corner_SIZE;126int is_closed;127int is_degenerate;128} polyeder_TYP;129130/* the programs of joerg kock will need this setting */131typedef struct {132vertex_TYP **vert;133int vert_no;134int vert_SIZE;135wall_TYP **wall;136int wall_no;137int wall_SIZE;138int is_closed;139int is_finite;140} fund_domain;141142143struct baum{144int no;145struct baum *left;146struct baum *right;147};148149150struct tree{151int no;152struct tree *left;153struct tree *right;154};155156/* the setting for programs which sit in ...../functions/Base */157#define MIN_SPEICHER 256158159typedef struct{160int length;161int speicher;162matrix_TYP **orbit;163matrix_TYP **representatives;164matrix_TYP **rep_invs;165matrix_TYP **generators;166int **words;167int gen_no;168struct tree *hash;169} bahn;170171typedef struct {172int dim;173int *v;174int kgv;175}vector_TYP;176177178/* for QtoZ */179typedef struct {180int *s;181matrix_TYP ****Delta;182int k;183int r;184} QtoZ_konst_TYP;185186typedef struct {187int anz;188int *I;189int *J;190int *flag;191matrix_TYP **lattice;192matrix_TYP **lsf; /* standard form of the lattices */193} QtoZ_entry_TYP;194195typedef struct {196matrix_TYP **gitter;197matrix_TYP **tr_gitter;198matrix_TYP **inv_tr_gitter;199int anz;200QtoZ_entry_TYP **entry;201matrix_TYP ***zoogitter;202} QtoZ_TYP;203204#endif /* _CARAT_TYPEDEF_H_ */205206207#ifdef __cplusplus208}209#endif210211212213