Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it

563516 views
1
#ifdef __cplusplus
2
extern "C" {
3
#endif
4
5
6
#ifndef _CARAT_TYPEDEF_H_
7
#define _CARAT_TYPEDEF_H_
8
9
/* enthaelt die globalen Variablen - und Typendeklarationen */
10
#include <stdio.h>
11
#include <stdlib.h>
12
#include <math.h>
13
#include <malloc.h>
14
#include <memory.h>
15
#include <string.h>
16
#include <ctype.h>
17
#include<signal.h>
18
#ifdef __STDC__
19
#include <stdarg.h>
20
#else
21
#include<varargs.h>
22
#endif
23
24
#include "m_alloc.h"
25
26
#define TRUE 1
27
#define FALSE 0
28
29
#define EXT_SIZE 100
30
#define extsize1 30
31
#define MAXDIM 6
32
33
typedef int boolean;
34
typedef struct { int z; int n; } rational;
35
typedef struct { int ggt, f1, f2; int alt, g1, g2; } pair;
36
37
typedef struct {
38
int **SZ;
39
int **N;
40
} array_TYP;
41
42
typedef struct {
43
int Integral ,
44
Symmetric,
45
Diagonal ,
46
Scalar ;
47
} flag_TYP;
48
49
typedef struct {
50
flag_TYP flags;
51
int cols, rows;
52
int kgv;
53
int prime;
54
array_TYP array;
55
} matrix_TYP;
56
57
58
typedef struct {
59
int dim;
60
int gen_no;
61
int order;
62
int divisors[100];
63
int form_no;
64
int zentr_no;
65
int normal_no;
66
int cen_no;
67
matrix_TYP **gen;
68
matrix_TYP **form;
69
matrix_TYP **zentr;
70
matrix_TYP **normal;
71
matrix_TYP **cen;
72
} bravais_TYP;
73
74
typedef struct {
75
bravais_TYP *grp;
76
char *fn;
77
} symbol_out;
78
79
typedef struct {
80
int *v;
81
int dim;
82
int *wall;
83
int wall_no;
84
int wall_SIZE;
85
} vertex_TYP;
86
87
/* inserted tilman 16/07/97 to add more functionality for anne's programs */
88
typedef struct{
89
int dim;
90
int *word;
91
matrix_TYP *trans;
92
} word_TYP;
93
94
typedef struct{
95
int *gl;
96
int dim;
97
int *product;
98
int nproduct;
99
int norm; /* next 4 lines inserted by anne, 8/10/97 */
100
int next_no; /* Anzahl der Nachbarwaende */
101
int **next; /* Gleichungen der Nachbarwaende */
102
int ext_no; /* Anzahl der virtuellen Waende */
103
int **extra; /* Gleichungen der virtuellen Waende */
104
int neu; /* neu[i] = 0 falls die Wand neu hinzugekommen ist */
105
int paar; /* No. der zu dieser Wand gepaarten Wand */
106
matrix_TYP *mat; /* Seitentransformation */
107
word_TYP *word; /* Wort der Seitentrafo in den Gruppenerzeugern */
108
}wall_TYP;
109
110
/* next 5 lines inserted by anne, 8/10/98 */
111
typedef struct{
112
int w[2];
113
int *v;
114
int v_anz;
115
} corner_TYP;
116
117
typedef struct {
118
vertex_TYP **vert;
119
int vert_no;
120
int vert_SIZE;
121
wall_TYP **wall;
122
int wall_no;
123
int wall_SIZE;
124
corner_TYP *corner; /* next 3 lines inserted by anne, 8/10/98 */
125
int corner_no;
126
int corner_SIZE;
127
int is_closed;
128
int is_degenerate;
129
} polyeder_TYP;
130
131
/* the programs of joerg kock will need this setting */
132
typedef struct {
133
vertex_TYP **vert;
134
int vert_no;
135
int vert_SIZE;
136
wall_TYP **wall;
137
int wall_no;
138
int wall_SIZE;
139
int is_closed;
140
int is_finite;
141
} fund_domain;
142
143
144
struct baum{
145
int no;
146
struct baum *left;
147
struct baum *right;
148
};
149
150
151
struct tree{
152
int no;
153
struct tree *left;
154
struct tree *right;
155
};
156
157
/* the setting for programs which sit in ...../functions/Base */
158
#define MIN_SPEICHER 256
159
160
typedef struct{
161
int length;
162
int speicher;
163
matrix_TYP **orbit;
164
matrix_TYP **representatives;
165
matrix_TYP **rep_invs;
166
matrix_TYP **generators;
167
int **words;
168
int gen_no;
169
struct tree *hash;
170
} bahn;
171
172
typedef struct {
173
int dim;
174
int *v;
175
int kgv;
176
}vector_TYP;
177
178
179
/* for QtoZ */
180
typedef struct {
181
int *s;
182
matrix_TYP ****Delta;
183
int k;
184
int r;
185
} QtoZ_konst_TYP;
186
187
typedef struct {
188
int anz;
189
int *I;
190
int *J;
191
int *flag;
192
matrix_TYP **lattice;
193
matrix_TYP **lsf; /* standard form of the lattices */
194
} QtoZ_entry_TYP;
195
196
typedef struct {
197
matrix_TYP **gitter;
198
matrix_TYP **tr_gitter;
199
matrix_TYP **inv_tr_gitter;
200
int anz;
201
QtoZ_entry_TYP **entry;
202
matrix_TYP ***zoogitter;
203
} QtoZ_TYP;
204
205
#endif /* _CARAT_TYPEDEF_H_ */
206
207
208
#ifdef __cplusplus
209
}
210
#endif
211
212
213