source: git/Singular/structs.h @ 6f2edc

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