source: git/Singular/structs.h @ c4bbf1f

spielwiese
Last change on this file since c4bbf1f was f92fa13, checked in by Olaf Bachmann <obachman@…>, 26 years ago
1998-03-16 Olaf Bachmann <obachman@mathematik.uni-kl.de> * polys-impl.h: #define COMP_FAST * configure.in,Makefile.in: check for flex -P; increased version number to 1.1.7 1998-03-04 Olaf Bachmann <obachman@mathematik.uni-kl.de> * febase.h: added macro assume() * spSpolyLoop.cc: Automatic generation of SpolyLoops using spSpolyLoop.pl * kstd*.cc: New calling interface to get SpolyLoop * ring.h: Introduced rOrderType_t git-svn-id: file:///usr/local/Singular/svn/trunk@1236 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 3.4 KB
Line 
1#ifndef STRUCTS_H
2#define STRUCTS_H
3/****************************************
4*  Computer Algebra System SINGULAR     *
5****************************************/
6/* $Id: structs.h,v 1.10 1998-03-16 14:56:47 obachman 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_string,
32  noeof_bracket,
33  noeof_procname
34};
35
36/* C++-part */
37#ifdef __cplusplus
38class ip_smatrix;
39class idrec;
40class intvec;
41class sleftv;
42class slists;
43class sattr;
44class skStrategy;
45class ssyStrategy;
46class procinfo;
47
48struct  sip_sring;
49struct  sip_sideal;
50struct  sip_link;
51struct  spolynom;
52struct _ssubexpr;
53struct _sssym;
54struct snumber;
55struct sip_command;
56struct sip_package;
57struct s_si_link_extension;
58struct reca;
59
60typedef struct _ssubexpr   sSubexpr;
61typedef struct _sssym      ssym;
62typedef struct spolyrec    polyrec;
63typedef struct snumber     rnumber;
64typedef struct sip_sideal  ip_sideal;
65typedef struct sip_smap    ip_smap;
66typedef struct sip_sring   ip_sring;
67typedef struct sip_link    ip_link;
68typedef struct sip_command ip_command;
69typedef struct sip_package ip_package;
70
71
72/* the pointer types */
73typedef ip_sring *         ring;
74typedef int                idtyp;
75typedef idrec *            idhdl;
76typedef rnumber *          number;
77typedef polyrec *          poly;
78typedef poly *             polyset;
79typedef ip_sideal *        ideal;
80typedef ip_smap *          map;
81typedef ip_link *          si_link;
82typedef ideal *            resolvente;
83typedef ip_smatrix *       matrix;
84typedef sleftv *           leftv;
85typedef slists *           lists;
86typedef sSubexpr *         Subexpr;
87typedef union uutypes      utypes;
88typedef sattr *            attr;
89typedef skStrategy *       kStrategy;
90typedef ip_command *       command;
91typedef ip_package *       package;
92typedef struct s_si_link_extension *si_link_extension;
93typedef ssyStrategy *      syStrategy;
94typedef struct reca *      alg;
95typedef procinfo *         procinfov;
96
97struct _scmdnames
98{
99  char *name;
100  short alias;
101  short tokval;
102  short toktype;
103};
104typedef struct _scmdnames cmdnames;
105
106/* the function pointer types */
107//typedef void (*numberproc)(number a,number b,number * c);
108typedef number (*numberfunc)(number a,number b);
109
110typedef void    (*pSetmProc)(poly p);
111typedef int     (*pLDegProc)(poly p, int *length);
112typedef int     (*pFDegProc)(poly p);
113typedef int     (*pCompProc)(poly p1, poly p2);
114
115extern ring      currRing;
116#endif
117
118/*
119**  7. runtime procedures/global data
120*/
121
122/* 7.1 C-routines : */
123
124#ifdef __cplusplus
125extern "C" {
126#endif
127void  m2_end(short i);
128#ifdef __cplusplus
129}
130#endif
131
132/* 7.2 C++-routines : */
133
134#ifdef __cplusplus
135int   inits(void);
136void  singular_help(char *str, BOOLEAN example);
137#ifdef buildin_help
138int   singular_manual(char *str);
139#endif
140#ifdef buildin_rand
141extern int siSeed;
142int siRand();
143#endif
144#endif
145
146/*the general set of std-options --> kutil.cc */
147extern BITSET test;
148/*the general set of verbose-options --> febase.cc */
149extern BITSET verbose;
150/*debugging the bison grammar --> grammar.cc*/
151#ifdef YYDEBUG
152#if YYDEBUG
153extern int    yydebug;
154#endif
155#endif
156
157#ifdef HAVE_LIBPARSER
158#ifdef __cplusplus
159class libstack;
160typedef libstack *  libstackv;
161#endif
162#endif /* HAVE_LIBPARSER */
163
164#endif
165
Note: See TracBrowser for help on using the repository browser.