source: git/Singular/mod2.h.in @ 64d729

spielwiese
Last change on this file since 64d729 was 6e5833, checked in by Olaf Bachmann <obachman@…>, 25 years ago
* some improvements to mmbt git-svn-id: file:///usr/local/Singular/svn/trunk@2963 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 12.1 KB
Line 
1/*******************************************************************
2 *  Computer Algebra System SINGULAR
3 *
4 *  mod2.h: Main configuration file for Singular
5 *          DO NOT EDIT!
6 *
7 *******************************************************************/
8#ifndef MOD2_H
9#define MOD2_H
10
11/*******************************************************************
12 * Defines which are set by configure
13 ******************************************************************/
14/* Define the info program to use, if you have TeXInfo, undef otherwise */
15#undef HAVE_INFO
16/* Define to use readline lib for fancy display */
17#undef HAVE_READLINE
18/* Define to use built-in command line parser */
19#undef HAVE_FEREAD
20/* Define if you want to use dld's */
21#undef HAVE_DLD
22/* Define to have dbm links */
23#undef HAVE_DBM
24/* Define to have smallgmp */
25#undef HAVE_SMALLGMP
26/* Define to have MP links */
27#undef HAVE_MPSR
28/* Define to have factory functionality added */
29#undef HAVE_FACTORY
30/* Define to have libfac functionality added */
31#undef HAVE_LIBFAC_P
32/* Define if you have stdc headers */
33#undef STDC_HEADERS
34/* Define if you have sys/file.h */
35#undef HAVE_SYS_FILE_H
36/* Define if you have sys/stat.h */
37#undef HAVE_SYS_STAT_H
38/* Define if you have sys/param.h */
39#undef HAVE_SYS_PARAM_H
40/* Define if you have sys/file.h */
41#undef HAVE_SYS_TYPES_H
42/* Define if you have sys/ioctl.h */
43#undef HAVE_SYS_IOCTL_H
44/* Define if you have sys/time.h */
45#undef HAVE_SYS_TIME_H
46/* Define if you have sys/times.h */
47#undef HAVE_SYS_TIMES_H
48/* Define if you have readline/history.h */
49#undef HAVE_READLINE_HISTORY_H
50/* Define if readline/readline.h is ok */
51#undef READLINE_READLINE_H_OK
52/* Define if time.h and sys/time.h can be included at the same time */
53#undef TIME_WITH_SYS_TIME
54/* Define if you have alloca.h */
55#undef HAVE_ALLOCA_H
56/* Define if you have pwd.h */
57#undef HAVE_PWD_H
58/* Define if you have unistd.h */
59#undef HAVE_UNISTD_H
60/* define if you have malloc.h n */
61#undef HAVE_MALLOC_H
62/* Define if you have alloca */
63#undef HAVE_ALLOCA
64/* Define if you have getpagesize */
65#undef GETPAGESIZE
66/* Define if you have vprintf */
67#undef HAVE_VPRINTF
68/* Define if you have gettimeofday */
69#undef HAVE_GETTIMEOFDAY
70/* Define if you have atexit */
71#undef HAVE_ATEXIT
72/* Define if you have bcopy, bzero and bcmp
73   Linux needs that define! */
74#undef HAVE_BCOPY
75/* Define if sprintf does not return number of printed chars */
76#undef BSD_SPRINTF
77/* define if you have explicit C++ constructors */
78#undef HAVE_EXPLICIT_CONSTR
79/* Define if you have the getcwd function.  */
80#undef HAVE_GETCWD
81/* Define if you have the getwd function.  */
82#undef HAVE_GETWD
83/* Define if you have sbrk */
84#undef HAVE_SBRK
85/* Define if you have readlink */
86#undef HAVE_READLINK
87/* Define if you have usleep */
88#undef HAVE_USLEEP
89/* Define if you have sleep */
90#undef HAVE_SLEEP
91/* Define sizeof(char) */
92#define SIZEOF_CHAR 1
93/* Define sizeof(short) */
94#define SIZEOF_SHORT 2
95/* Define sizeof(int) */
96#define SIZEOF_INT 4
97/* Define sizeof(long) */
98#define SIZEOF_LONG 4
99/* Define sizeof(void*) */
100#define SIZEOF_VOIDP 4
101/* Define sizeof(double) */
102#define SIZEOF_DOUBLE 8
103/* Define if your integer format is big endian */
104#undef WORDS_BIGENDIAN
105/* Define the type of the exponents to be used in monomials */
106#define EXPONENT_TYPE short
107/* Define the size of exponent */
108#define SIZEOF_EXPONENT SIZEOF_SHORT
109/* Define major version of Singular -- should be set in ../configure.in!!!*/
110#define SINGULAR_MAJOR_VERSION 0
111/* Define minor version of Singular -- should be set in ../configure.in!!! */
112#define SINGULAR_MINOR_VERSION 0
113/* Define sub version of Singular -- should be set in ../configure.in!!! */
114#define SINGULAR_SUB_VERSION 0
115/* Define version as a string */
116#define S_VERSION1 ""
117/* Define version date as a string */
118#define S_VERSION2 ""
119/* Define uname identifier as a string */
120#define S_UNAME ""
121/* Define if our gmalloc is to be used */
122#undef HAVE_GMALLOC
123/* Define pagesize of your system */
124#define SIZE_OF_SYSTEM_PAGE 4096
125/* size of page as we can use it */
126#define SIZE_OF_PAGE SIZE_OF_SYSTEM_PAGE
127/* valloc routine which returns chunk of SIZE_OF_PAGE */
128#define PALLOC malloc
129#define PFREE  free
130/* define if result of PALLOC is aligned on SIZE_OF_SYSTEM_PAGE */
131#undef HAVE_PAGE_ALIGNMENT
132
133/*******************************************************************
134 * Defines which are not set by configure
135 ******************************************************************/
136/* Default value for timer resolution in ticks per second */
137/* set to 10 for resolution of tenth of a second, etc */
138#define TIMER_RESOLUTION 1
139/* Undefine to disable the quote/eval of expressions */
140#define SIQ 1
141/* Define to enable TCL interface */
142#define HAVE_TCL 1
143/* Define to enable working in Weyl algebras */
144#undef DRING
145/* Define to enable working in exterior algebras */
146#undef SRING
147/* Undefine to disable Gerhard's and Wilfried's fast and dirty std computations */
148#define FAST_AND_DIRTY
149#ifdef __MWERKS__
150/* includes for Metrowerks */
151#include "mod2.mwerks.h"
152#else
153/* works around a quirk in the generation of parser tables */
154#define INIT_BUG
155#endif
156
157/* linear algebra extensions from pcv.h/pcv.cc */
158#define HAVE_PCV 1
159
160/* Define to use old mechanismen for saving currRing with procedures
161 * Does not work with HAVE_NAMESPACES enabled
162 */
163#undef USE_IILOCALRING
164
165/* Define to use new namespaces techniks */
166#undef HAVE_NAMESPACES
167
168/* Define to enable dynamic module code */
169#undef HAVE_DYNAMIC_LOADING
170
171/* Define to use scanner when loading libraries */
172#define HAVE_LIBPARSER
173
174/*#define PROFILING*/
175#ifdef PROFILING
176#define PROFILER ,0,0
177#else
178#define PROFILER
179#endif
180
181/* Define to use gmp for rational arithmetic */
182#define HAVE_GMP
183
184/*******************************************************************
185 * Evaluate the set defines
186 ******************************************************************/
187/* FGLM needs factory */
188#ifdef HAVE_FACTORY
189#define HAVE_FGLM
190#endif
191
192/* Define if you want fglm for homogeneous case */
193#ifdef HAVE_FGLM
194#undef HAVE_FGLM_HOME
195#endif
196
197/* Undefine to disable real time measurments  */
198#ifdef HAVE_GETTIMEOFDAY
199#if ! defined(__MWERKS__) && ! defined(MSDOS)
200#define HAVE_RTIMER
201#else
202#undef HAVE_RTIMER
203#endif
204#endif
205
206#if SIZEOF_VOIDP == 8
207#define ALIGN_8
208#endif
209
210#define SINGULAR_VERSION (SINGULAR_MAJOR_VERSION*1000 + SINGULAR_MINOR_VERSION*100 + SINGULAR_SUB_VERSION)
211#ifdef DRING
212#define SDRING
213#endif
214
215#ifdef SRING
216#define SDRING
217#endif
218
219#ifndef HAVE_INFO
220#define buildin_help 1
221#endif
222
223#if SIZEOF_EXPONENT == 1
224#define MAX_EXPONENT 0x7f
225#elif SIZEOF_EXPONENT == 2
226#define MAX_EXPONENT 0x7fff
227#else /* SIZEOF_EXPONENT == 4 */
228#define MAX_EXPONENT 0x7fffffff
229#endif
230
231/*******************************************************************
232 * Miscellanous Defines
233 ******************************************************************/
234/* define MM_COUNT to enable "memory(0)" (resp. memory(1))*/
235#define MM_COUNT 1
236
237
238#ifndef HAVE_LIBPARSER
239#  undef YYLPDEBUG
240#else
241#  define YYLPDEBUG 1
242#endif
243
244#ifndef FALSE
245#define FALSE       0
246#endif
247
248#ifndef TRUE
249#define TRUE        1
250#endif
251
252#ifndef NULL
253#define NULL        (0)
254#endif
255
256#ifndef SEEK_END
257#define SEEK_END 2
258#endif
259
260#ifndef SEEK_SET
261#define SEEK_SET 0
262#endif
263
264#define HALT() m2_end(2)
265
266#define memcpy4 memcpy
267
268/* define OLD_RES for res/sres/mres(i,j,k) */
269#undef OLD_RES
270
271/* the maximal ascii length of an int number + 1 = 11 for 32 bit int */
272#define MAX_INT_LEN 11
273extern int pShortOut;
274
275/* the maximal level of stacks to remembre in debug (MTRACK) mode */
276#define BT_MAXSTACK 10
277
278#ifdef DO_PROFILE
279/* define to enable explicit profiling of some crucial inline
280 * routines and defines  */
281#undef DO_DEEP_PROFILE
282#endif
283
284#define buildin_rand 1
285
286/* define to enable assume */
287#ifndef HAVE_ASSUME
288#undef HAVE_ASSUME
289#endif
290
291/*******************************************************************
292 * DEBUG OPTIONS
293 * -- only significant for for compiling without -DNDEBUG
294 * -- you better know what your are doing, if you touch this
295 ******************************************************************/
296#ifndef NDEBUG
297
298/* undefine to disable assume -- should normally be defined for NDEBUG */
299#define HAVE_ASSUME
300
301
302/* undefine to disable assume -- should normally be defined for NDEBUG */
303#define HAVE_ASSUME
304
305/* undef MDEBUG to disable memory checks
306 *
307 * define MDEBUG to
308 * 0 to enable basic memory checks (at least on each alloc/free)
309 * 1 for addtl. containment checks in free/alloc list for each memory check
310 * 2 for addtl. checks of entire free/alloc list at each memory check
311 * 3 for addtl. checks of all heaps at each memory check
312 * NOTE: For MDEBUG > 1, it gets very slow
313 * You can control MDEBUG at run-time by setting the value of the
314 * variable mm_MDEBUG (defined in mmcheck.c) to the appropriate value.
315 */
316#define MDEBUG 0
317
318/* undef HEAP_DEBUG to disable heap checks
319 *
320 * define HEAP_DEBUG to
321 * 0 to enable basic heap addr checks (at least on each alloc/free)
322 * 1 for addtl. containment checks in free/alloc list of heap
323 * 2 for addtl. check of entire  heap at each heap addr check
324 * NOTE: For HEAP_DEBUG > 1 on, it gets very slow
325 * You can control HEAP_DEBUG at run-time by setting the value of the
326 * variable mm_HEAP_DEBUG (defined in mmheap.c) to the appropriate value.
327 */
328#define HEAP_DEBUG 0
329
330/* define PAGE_DEBUG for page accesses -- never re-uses freed pages */
331#ifndef PAGE_DEBUG
332#undef PAGE_DEBUG
333#endif
334
335
336
337/* define PDEBUG checking polys, undefine otherwise */
338/* define PDEBUG 1 for additionally checking access to polys  -- vewry slow !*/
339#define PDEBUG 1
340/* define KDEBUG checking during standard base computation */
341#define KDEBUG
342/* define LDEBUG checking numbers, undefine otherwise */
343#define LDEBUG
344/* define RDEBUG checking rings (together with TRACE=9) */
345#define RDEBUG
346/* define TEST for non time critical tests, undefine otherwise */
347#define TEST
348/* define MLIST for printing block of used memory on exit */
349#define MLIST 1
350/* define MTRACK for allowing to keep track of Alloc/Free with a backtrace */
351/* #define MTRACK */
352
353/* #define PAGE_TEST */
354
355/* define YYDEBUG 1 for debugging bison texts, 0 otherwise */
356#define YYDEBUG 1
357
358/* Undefine to disable debugging of MP stuff */
359#ifdef HAVE_MPSR
360#define MPSR_DEBUG
361#endif
362
363/* MLIST requires MDEBUG */
364#ifdef MLIST
365#ifndef MDEBUG
366#define MDEBUG 0
367#endif
368#endif
369
370/* MTRACK requires MDEBUG and MLIST*/
371#ifdef MTRACK
372#ifndef MDEBUG
373#define MDEBUG 1
374#endif
375#ifndef MLIST
376#define MLIST
377#endif
378#endif
379
380/* PDEBUG requires MDEBUG */
381#ifdef PDEBUG
382#ifndef MDEBUG
383#define MDEBUG 0
384#endif
385#endif
386
387#ifdef TEST
388#ifndef buildin_rand
389#define buildin_rand 1
390#endif
391#endif
392
393#ifdef MTRACK
394#define BT_MAXSTACK 10
395#endif /* MTRACK */
396
397#else /* not NDEBUG */
398
399/* define YYDEBUG 1 for debugging bison texts, 0 otherwise */
400#define YYDEBUG 0
401
402#endif /* not NDEBUG */
403
404#ifdef HAVE_DYNAMIC_LOADING
405#   define HAVE_NAMESPACES 1
406#endif /* HAVE_DYNAMIC_LOADING */
407#ifdef HAVE_NAMESPACES
408#  undef USE_IILOCALRING
409#endif
410
411/*******************************************************************
412 *
413 * assume(x) -- a handy macro for assumptions
414 *
415 ******************************************************************/
416
417#ifndef HAVE_ASSUME
418#define assume(x) ((void*) 0)
419#define r_assume(x) ((void*) 0)
420#else /* ! HAVE_ASSUME */
421
422#ifdef __cplusplus
423extern "C" {
424#endif
425/* Set a breakpoint on this function */
426extern void assume_violation(char* file, int line);
427#ifdef __cplusplus
428}
429#endif
430
431
432#define assume(x)   _assume(x, __FILE__, __LINE__)
433#define r_assume(x) _r_assume(x, __FILE__, __LINE__)
434
435#define _assume(x, f, l)                        \
436do                                              \
437{                                               \
438  if (! (x))                                    \
439  {                                             \
440    assume_violation(f, l);                     \
441  }                                             \
442}                                               \
443while (0)
444
445#define _r_assume(x, f, l)                      \
446do                                              \
447{                                               \
448  if (! (x))                                    \
449  {                                             \
450    assume_violation(f, l);                     \
451    return 0;                                   \
452  }                                             \
453}                                               \
454while (0)
455#endif /* HAVE_ASSUME */
456
457#endif /* MOD2_H  */
Note: See TracBrowser for help on using the repository browser.