source: git/Singular/mod2.h.in @ 82af190

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