source: git/kernel/structs.h @ 9d53d0

jengelh-datetimespielwiese
Last change on this file since 9d53d0 was 9d53d0, checked in by Hans Schoenemann <hannes@…>, 12 years ago
fix includes for C-files
  • 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#ifdef HAVE_RINGS
15#include <kernel/si_gmp.h>
16#endif
17
18extern int dummy;
19
20/* standard types */
21#ifdef HAVE_RINGS
22typedef unsigned long NATNUMBER;
23typedef mpz_ptr int_number;
24#endif
25
26#define BITSET  unsigned int
27
28#if SIZEOF_LONG == 4
29typedef long long int64;
30#elif SIZEOF_LONG == 8
31typedef long int64;
32#else
33#error int64 undefined
34#endif
35
36
37/* C++-part */
38#ifdef __cplusplus
39class sleftv;
40class procinfo;
41class skStrategy;
42class ssyStrategy;
43class CPolynomialSummator;
44class CGlobalMultiplier;
45class CFormulaPowerMultiplier;
46#endif
47
48struct sip_package;
49typedef struct sip_package ip_package;
50typedef ip_package *       package;
51
52typedef struct  n_Procs_s  n_Procs_s;
53
54// #ifdef HAVE_PLURAL
55struct nc_struct;
56typedef struct nc_struct   nc_struct;
57// #endif
58
59typedef struct sip_link    ip_link;
60
61/* the pointer types */
62typedef char *             char_ptr;
63typedef int  *             int_ptr;
64
65#ifdef __cplusplus
66//typedef ip_link *          si_link;
67typedef sleftv *           leftv;
68//typedef slists *           lists;
69//typedef sattr *            attr;
70typedef skStrategy *       kStrategy;
71typedef ssyStrategy *      syStrategy;
72typedef procinfo *         procinfov;
73
74/* the function pointer types */
75
76class idrec;
77typedef idrec *   idhdl;
78
79#endif /* __cplusplus */
80
81
82
83/*
84**  7. runtime procedures/global data
85*/
86
87/* 7.1 C-routines : */
88
89
90#ifdef __cplusplus
91extern "C" {
92#endif
93void  m2_end(int i) __attribute__((noreturn));
94#ifdef __cplusplus
95}
96#endif
97
98/* 7.2 C++-routines : */
99
100#ifdef __cplusplus
101int   inits(void);
102int   IsPrime(int i);
103extern int siSeed;
104int siRand();
105#endif
106
107#define loop for(;;)
108
109#ifndef ABS
110#define ABS(x) ((x)<0?(-(x)):(x))
111#endif
112
113extern omBin char_ptr_bin;
114
115#endif
116
Note: See TracBrowser for help on using the repository browser.