source: git/Singular/structs.h @ c616d1

fieker-DuValspielwiese
Last change on this file since c616d1 was d242466, checked in by Hans Schönemann <hannes@…>, 26 years ago
* hannes: adapted to C git-svn-id: file:///usr/local/Singular/svn/trunk@2507 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 3.6 KB
Line 
1#ifndef STRUCTS_H
2#define STRUCTS_H
3/****************************************
4*  Computer Algebra System SINGULAR     *
5****************************************/
6/* $Id: structs.h,v 1.14 1998-09-09 13:08:38 Singular Exp $ */
7/*
8* ABSTRACT
9*/
10
11/* standard types */
12typedef unsigned char  uchar ;
13typedef unsigned short CARDINAL;
14typedef short BOOLEAN;
15
16typedef void * Sy_reference;
17#define ADDRESS Sy_reference
18#define BITSET  unsigned int
19
20enum tHomog
21{
22   isNotHomog = FALSE,
23   isHomog    = TRUE,
24   testHomog
25};
26enum noeof_t
27{
28  noeof_brace = 1,
29  noeof_asstring,
30  noeof_block,
31  noeof_bracket,
32  noeof_comment,
33  noeof_procname,
34  noeof_string
35};
36
37/* C++-part */
38#ifdef __cplusplus
39class ip_smatrix;
40class idrec;
41class intvec;
42class sleftv;
43class slists;
44class sattr;
45class skStrategy;
46class ssyStrategy;
47class procinfo;
48#ifdef HAVE_NAMESPACES
49class namerec;
50#endif
51#endif
52
53struct  sip_sring;
54struct  sip_sideal;
55struct  sip_link;
56struct  spolynom;
57struct _ssubexpr;
58struct _sssym;
59struct snumber;
60struct sip_command;
61struct sip_package;
62struct s_si_link_extension;
63struct reca;
64
65typedef struct _ssubexpr   sSubexpr;
66typedef struct _sssym      ssym;
67typedef struct spolyrec    polyrec;
68typedef struct snumber     rnumber;
69typedef struct sip_sideal  ip_sideal;
70typedef struct sip_smap    ip_smap;
71typedef struct sip_sring   ip_sring;
72typedef struct sip_link    ip_link;
73typedef struct sip_command ip_command;
74typedef struct sip_package ip_package;
75
76
77/* the pointer types */
78typedef ip_sring *         ring;
79typedef int                idtyp;
80typedef rnumber *          number;
81typedef polyrec *          poly;
82typedef poly *             polyset;
83typedef ip_sideal *        ideal;
84typedef ip_smap *          map;
85typedef ideal *            resolvente;
86typedef union uutypes      utypes;
87typedef ip_command *       command;
88typedef struct s_si_link_extension *si_link_extension;
89typedef struct reca *      alg;
90#ifdef __cplusplus
91typedef idrec *            idhdl;
92typedef ip_smatrix *       matrix;
93typedef ip_link *          si_link;
94typedef sleftv *           leftv;
95typedef slists *           lists;
96typedef sSubexpr *         Subexpr;
97typedef sattr *            attr;
98typedef skStrategy *       kStrategy;
99typedef ip_package *       package;
100typedef ssyStrategy *      syStrategy;
101typedef procinfo *         procinfov;
102#ifdef HAVE_NAMESPACES
103typedef namerec *          namehdl;
104#endif
105#endif
106
107struct _scmdnames
108{
109  char *name;
110  short alias;
111  short tokval;
112  short toktype;
113};
114typedef struct _scmdnames cmdnames;
115
116/* the function pointer types */
117typedef number (*numberfunc)(number a,number b);
118
119typedef void    (*pSetmProc)(poly p);
120typedef int     (*pLDegProc)(poly p, int *length);
121typedef int     (*pFDegProc)(poly p);
122typedef int     (*pCompProc)(poly p1, poly p2);
123
124extern ring      currRing;
125
126/*
127**  7. runtime procedures/global data
128*/
129
130/* 7.1 C-routines : */
131
132#ifdef __cplusplus
133extern "C" {
134#endif
135void  m2_end(short i);
136#ifdef __cplusplus
137}
138#endif
139
140/* 7.2 C++-routines : */
141
142#ifdef __cplusplus
143int   inits(void);
144void  singular_help(char *str, BOOLEAN example);
145#ifdef buildin_help
146int   singular_manual(char *str);
147#endif
148#ifdef buildin_rand
149extern int siSeed;
150int siRand();
151#endif
152#endif
153
154/*the general set of std-options --> kutil.cc */
155extern BITSET test;
156/*the general set of verbose-options --> febase.cc */
157#ifdef __cplusplus
158extern "C" BITSET verbose;
159#else
160extern BITSET verbose;
161#endif
162/*debugging the bison grammar --> grammar.cc*/
163#ifdef YYDEBUG
164#if YYDEBUG
165extern int    yydebug;
166#endif
167#endif
168
169#ifdef HAVE_LIBPARSER
170#ifdef __cplusplus
171class libstack;
172typedef libstack *  libstackv;
173#endif
174#endif /* HAVE_LIBPARSER */
175
176#endif
177
Note: See TracBrowser for help on using the repository browser.