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