1 #ifndef STRUCTS_H
2 #define STRUCTS_H
3 /****************************************
4 *  Computer Algebra System SINGULAR     *
5 ****************************************/
6 /*
7 * ABSTRACT
8 */
9 
10 #include "kernel/mod2.h"
11 
12 /* for omBin */
13 #include "omalloc/omalloc.h"
14 
15 #ifdef HAVE_RINGS
16 #include "coeffs/si_gmp.h"
17 #endif
18 
19 /* standard types */
20 #define BITSET  unsigned int
21 
22 
23 /* C++-part */
24 #ifdef __cplusplus
25 #include "kernel/polys.h"
26 #include "polys/coeffrings.h"
27 
28 class Voice;
29 class sleftv;
30 class procinfo;
31 class skStrategy;
32 class ssyStrategy;
33 class CPolynomialSummator;
34 class CGlobalMultiplier;
35 class CFormulaPowerMultiplier;
36 #endif
37 
38 
39 enum tHomog
40 {
41   isNotHomog = FALSE,
42   isHomog    = TRUE,
43   testHomog
44 };
45 
46 struct sip_package;
47 typedef struct sip_package ip_package;
48 typedef ip_package *       package;
49 
50 typedef struct  n_Procs_s  n_Procs_s;
51 
52 struct nc_struct;
53 typedef struct nc_struct   nc_struct;
54 
55 typedef struct sip_link    ip_link;
56 
57 /* the pointer types */
58 typedef char *             char_ptr;
59 typedef int  *             int_ptr;
60 
61 #ifdef __cplusplus
62 typedef sleftv *           leftv;
63 typedef skStrategy *       kStrategy;
64 typedef ssyStrategy *      syStrategy;
65 typedef procinfo *         procinfov;
66 
67 /* the function pointer types */
68 
69 #endif /* __cplusplus */
70 
71 
72 
73 /*
74 **  7. runtime procedures/global data
75 */
76 
77 /* 7.1 C-routines : */
78 
79 
80 #define loop for(;;)
81 
82 EXTERN_VAR omBin char_ptr_bin;
83 
84 #endif
85 
86