source: git/kernel/structs.h @ 05f61f

spielwiese
Last change on this file since 05f61f was 4d0cbc7, checked in by Oleksandr Motsak <motsak@…>, 12 years ago
further elimination of idhdl from libpolys/ & kernel/
  • Property mode set to 100644
File size: 1.9 KB
Line 
1#ifndef STRUCTS_H
2#define STRUCTS_H
3/****************************************
4*  Computer Algebra System SINGULAR     *
5****************************************/
6/* $Id$ */
7/*
8* ABSTRACT
9*/
10
11/* for omBin */
12#include <omalloc/omalloc.h>
13#include <misc/auxiliary.h>
14#include <kernel/polys.h>
15#include <polys/coeffrings.h>
16
17#ifdef HAVE_RINGS
18#include <coeffs/si_gmp.h>
19#endif
20
21/* standard types */
22#ifdef HAVE_RINGS
23typedef unsigned long NATNUMBER;
24typedef mpz_ptr int_number;
25#endif
26
27#define BITSET  unsigned int
28
29
30/* C++-part */
31#ifdef __cplusplus
32class sleftv;
33class procinfo;
34class skStrategy;
35class ssyStrategy;
36class CPolynomialSummator;
37class CGlobalMultiplier;
38class CFormulaPowerMultiplier;
39#endif
40
41
42enum tHomog
43{
44  isNotHomog = FALSE,
45  isHomog    = TRUE,
46  testHomog
47};
48
49
50struct sip_package;
51typedef struct sip_package ip_package;
52typedef ip_package *       package;
53
54typedef struct  n_Procs_s  n_Procs_s;
55
56// #ifdef HAVE_PLURAL
57struct nc_struct;
58typedef struct nc_struct   nc_struct;
59// #endif
60
61typedef struct sip_link    ip_link;
62
63/* the pointer types */
64typedef char *             char_ptr;
65typedef int  *             int_ptr;
66
67#ifdef __cplusplus
68//typedef ip_link *          si_link;
69typedef sleftv *           leftv;
70//typedef slists *           lists;
71//typedef sattr *            attr;
72typedef skStrategy *       kStrategy;
73typedef ssyStrategy *      syStrategy;
74typedef procinfo *         procinfov;
75
76/* the function pointer types */
77
78#endif /* __cplusplus */
79
80
81
82/*
83**  7. runtime procedures/global data
84*/
85
86/* 7.1 C-routines : */
87
88
89#ifdef __cplusplus
90extern "C" {
91#endif
92void  m2_end(int i) __attribute__((noreturn));
93#ifdef __cplusplus
94}
95#endif
96
97/* 7.2 C++-routines : */
98
99#ifdef __cplusplus
100int   inits(void);
101int   IsPrime(int i);
102extern int siSeed;
103int siRand();
104#endif
105
106#define loop for(;;)
107
108#ifndef ABS
109#define ABS(x) ((x)<0?(-(x)):(x))
110#endif
111
112extern omBin char_ptr_bin;
113
114#endif
115
Note: See TracBrowser for help on using the repository browser.