source: git/Singular/structs.h @ ca7a56

fieker-DuValspielwiese
Last change on this file since ca7a56 was 2ba9a6, checked in by Kai Krüger <krueger@…>, 26 years ago
Implementation of new proc-scheme done. git-svn-id: file:///usr/local/Singular/svn/trunk@1033 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 3.3 KB
Line 
1#ifndef STRUCTS_H
2#define STRUCTS_H
3/****************************************
4*  Computer Algebra System SINGULAR     *
5****************************************/
6/* $Id: structs.h,v 1.7 1998-01-16 14:29:57 krueger 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};
26/* C++-part */
27#ifdef __cplusplus
28class ip_smatrix;
29class idrec;
30class intvec;
31class sleftv;
32class slists;
33class sattr;
34class skStrategy;
35class ssyStrategy;
36class procinfo;
37
38struct  sip_sring;
39struct  sip_sideal;
40struct  sip_link;
41struct  spolynom;
42struct _ssubexpr;
43struct _sssym;
44struct snumber;
45struct sip_command;
46struct sip_package;
47struct s_si_link_extension;
48struct reca;
49
50typedef struct _ssubexpr   sSubexpr;
51typedef struct _sssym      ssym;
52typedef struct spolyrec    polyrec;
53typedef struct snumber     rnumber;
54typedef struct sip_sideal  ip_sideal;
55typedef struct sip_smap    ip_smap;
56typedef struct sip_sring   ip_sring;
57typedef struct sip_link    ip_link;
58typedef struct sip_command ip_command;
59typedef struct sip_package ip_package;
60
61
62/* the pointer types */
63typedef ip_sring *         ring;
64typedef int                idtyp;
65typedef idrec *            idhdl;
66typedef rnumber *          number;
67typedef polyrec *          poly;
68typedef poly *             polyset;
69typedef ip_sideal *        ideal;
70typedef ip_smap *          map;
71typedef ip_link *          si_link;
72typedef ideal *            resolvente;
73typedef ip_smatrix *       matrix;
74typedef sleftv *           leftv;
75typedef slists *           lists;
76typedef sSubexpr *         Subexpr;
77typedef union uutypes      utypes;
78typedef sattr *            attr;
79typedef skStrategy *       kStrategy;
80typedef ip_command *       command;
81typedef ip_package *       package;
82typedef struct s_si_link_extension *si_link_extension;
83typedef ssyStrategy *      syStrategy;
84typedef struct reca *      alg;
85typedef procinfo *         procinfov;
86
87struct _scmdnames
88{
89  char *name;
90  short alias;
91  short tokval;
92  short toktype;
93};
94typedef struct _scmdnames cmdnames;
95
96/* the function pointer types */
97//typedef void (*numberproc)(number a,number b,number * c);
98typedef number (*numberfunc)(number a,number b);
99
100typedef void    (*pSetmProc)(poly p);
101typedef int     (*pLDegProc)(poly p, int *length);
102typedef int     (*pFDegProc)(poly p);
103typedef int     (*pCompProc)(poly p1, poly p2);
104typedef void (*spSpolyLoopProc)(poly p1, poly p2, poly m, poly spNoether);
105
106extern ring      currRing;
107#endif
108
109/*
110**  7. runtime procedures/global data
111*/
112
113/* 7.1 C-routines : */
114
115#ifdef __cplusplus
116extern "C" {
117#endif
118void  m2_end(short i);
119#ifdef __cplusplus
120}
121#endif
122
123/* 7.2 C++-routines : */
124
125#ifdef __cplusplus
126int   inits(void);
127void  singular_help(char *str, BOOLEAN example);
128#ifdef buildin_help
129int   singular_manual(char *str);
130#endif
131#ifdef buildin_rand
132extern int siSeed;
133int siRand();
134#endif
135#endif
136
137/*the general set of std-options --> kutil.cc */
138extern BITSET test;
139/*the general set of verbose-options --> febase.cc */
140extern BITSET verbose;
141/*debugging the bison grammar --> grammar.cc*/
142#ifdef YYDEBUG
143#if YYDEBUG
144extern int    yydebug;
145#endif
146#endif
147
148#endif
149
Note: See TracBrowser for help on using the repository browser.