source: git/kernel/structs.h @ 8bb03b

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