source: git/Singular/mod2.h.in @ a79a128

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