My Project  debian-1:4.1.1-p2+ds-4build3
options.h
Go to the documentation of this file.
1 #ifndef OPTIONS_H
2 #define OPTIONS_H
3 /*****************************************
4  * * Computer Algebra System SINGULAR *
5  * *****************************************/
6 /*
7  * ABSTRACT: macros for global options
8  */
9 #include "misc/auxiliary.h" /*for BOOLEAN*/
10 /*the general set of std-options : si_opt_1(test) */
11 /*the general set of verbose-options : si_opt_2(verbose) */
12 #ifdef __cplusplus
13 extern "C" unsigned si_opt_1; //< NOTE: Original option variable name: test
14 extern "C" unsigned si_opt_2; //< NOTE: Original option variable name: verbose
15 extern "C" BOOLEAN siCntrlc;
16 #else
17 extern unsigned si_opt_1;
18 extern unsigned si_opt_2;
19 extern BOOLEAN siCntrlc;
20 #endif
21 #define SI_SAVE_OPT(A,B) { A=si_opt_1; B=si_opt_2; }
22 #define SI_SAVE_OPT1(A) { A=si_opt_1; }
23 #define SI_SAVE_OPT2(A) { A=si_opt_2; }
24 #define SI_RESTORE_OPT(A,B) { si_opt_1=A; si_opt_2=B; }
25 #define SI_RESTORE_OPT1(A) { si_opt_1=A; }
26 #define SI_RESTORE_OPT2(A) { si_opt_2=A; }
27 
28 /*
29 ** Set operations (small sets only)
30 */
31 
32 #define Sy_bit(x) ((unsigned)1<<(x))
33 #define Sy_inset(x,s) ((Sy_bit(x)&(s))?TRUE:FALSE)
34 #define BTEST1(a) Sy_inset((a), si_opt_1)
35 #define BVERBOSE(a) Sy_inset((a), si_opt_2)
36 
37 /*
38 ** defines for BITSETs
39 */
40 
41 #define V_QUIET 0
42 #define V_QRING 1
43 #define V_SHOW_MEM 2
44 #define V_YACC 3
45 #define V_REDEFINE 4
46 #define V_READING 5
47 #define V_LOAD_LIB 6
48 #define V_DEBUG_LIB 7
49 #define V_LOAD_PROC 8
50 #define V_DEF_RES 9
51 
52 #define V_SHOW_USE 11
53 #define V_IMAP 12
54 #define V_PROMPT 13
55 #define V_NSB 14
56 #define V_CONTENTSB 15
57 #define V_CANCELUNIT 16
58 #define V_MODPSOLVSB 17
59 #define V_UPTORADICAL 18
60 #define V_FINDMONOM 19
61 #define V_COEFSTRAT 20
62 #define V_IDLIFT 21
63 #define V_LENGTH 22
64 //#define V_REPORT_STD 23
65 /*23: kDebugPrint */
66 #define V_ALLWARN 24
67 #define V_INTERSECT_ELIM 25
68 #define V_INTERSECT_SYZ 26
69 #define V_ASSIGN_NONE 27
70 /* for tests: 28-30 */
71 #define V_DEG_STOP 31
72 
73 
74 #define OPT_PROT 0
75 #define OPT_REDSB 1
76 #define OPT_NOT_BUCKETS 2
77 #define OPT_NOT_SUGAR 3
78 #define OPT_INTERRUPT 4
79 #define OPT_SUGARCRIT 5
80 #define OPT_DEBUG 6
81 #define OPT_REDTHROUGH 7
82 #define OPT_NO_SYZ_MINIM 8
83 #define OPT_RETURN_SB 9
84 #define OPT_FASTHC 10
85 #define OPT_OLDSTD 20
86 
87 #define OPT_STAIRCASEBOUND 22
88 #define OPT_MULTBOUND 23
89 #define OPT_DEGBOUND 24
90 #define OPT_REDTAIL 25
91 #define OPT_INTSTRATEGY 26
92 #define OPT_FINDET 27
93 #define OPT_INFREDTAIL 28
94 #define OPT_SB_1 29
95 #define OPT_NOTREGULARITY 30
96 #define OPT_WEIGHTM 31
97 
98 /* define ring dependent options */
99 #define TEST_RINGDEP_OPTS \
100  (Sy_bit(OPT_INTSTRATEGY) | Sy_bit(OPT_REDTHROUGH) | Sy_bit(OPT_REDTAIL))
101 
102 #define TEST_OPT_PROT BTEST1(OPT_PROT)
103 #define TEST_OPT_REDSB BTEST1(OPT_REDSB)
104 #define TEST_OPT_NOT_BUCKETS BTEST1(OPT_NOT_BUCKETS)
105 #define TEST_OPT_NOT_SUGAR BTEST1(OPT_NOT_SUGAR)
106 #define TEST_OPT_SUGARCRIT BTEST1(OPT_SUGARCRIT)
107 #define TEST_OPT_DEBUG BTEST1(OPT_DEBUG)
108 #define TEST_OPT_FASTHC BTEST1(OPT_FASTHC)
109 #define TEST_OPT_INTSTRATEGY BTEST1(OPT_INTSTRATEGY)
110 #define TEST_OPT_FINDET BTEST1(OPT_FINDET)
111 #define TEST_OPT_RETURN_SB BTEST1(OPT_RETURN_SB)
112 #define TEST_OPT_DEGBOUND BTEST1(OPT_DEGBOUND)
113 #define TEST_OPT_MULTBOUND BTEST1(OPT_MULTBOUND)
114 #define TEST_OPT_STAIRCASEBOUND BTEST1(OPT_STAIRCASEBOUND)
115 #define TEST_OPT_REDTAIL BTEST1(OPT_REDTAIL)
116 #define TEST_OPT_INFREDTAIL BTEST1(OPT_INFREDTAIL)
117 #define TEST_OPT_SB_1 BTEST1(OPT_SB_1)
118 #define TEST_OPT_NOTREGULARITY BTEST1(OPT_NOTREGULARITY)
119 #define TEST_OPT_WEIGHTM BTEST1(OPT_WEIGHTM)
120 #define TEST_OPT_REDTHROUGH BTEST1(OPT_REDTHROUGH)
121 #define TEST_OPT_OLDSTD BTEST1(OPT_OLDSTD)
122 #define TEST_OPT_NO_SYZ_MINIM BTEST1(OPT_NO_SYZ_MINIM)
123 
124 
125 #define TEST_OPT_CONTENTSB BVERBOSE(V_CONTENTSB)
126 #define TEST_OPT_CANCELUNIT BVERBOSE(V_CANCELUNIT)
127 #define TEST_OPT_IDLIFT BVERBOSE(V_IDLIFT)
128 #define TEST_OPT_LENGTH BVERBOSE(V_LENGTH)
129 #define TEST_V_QRING BVERBOSE(V_QRING)
130 #define TEST_V_NSB BVERBOSE(V_NSB)
131 #define TEST_V_QUIET BVERBOSE(V_QUIET)
132 #define TEST_V_ASSIGN_NONE BVERBOSE(V_ASSIGN_NONE)
133 
134 #define TEST_VERB_NSB BVERBOSE(V_NSB)
135 #define TEST_V_DEG_STOP BVERBOSE(V_DEG_STOP)
136 #define TEST_V_MODPSOLVSB BVERBOSE(V_MODPSOLVSB)
137 #define TEST_V_COEFSTRAT BVERBOSE(V_COEFSTRAT)
138 #define TEST_V_UPTORADICAL BVERBOSE(V_UPTORADICAL)
139 #define TEST_V_FINDMONOM BVERBOSE(V_FINDMONOM)
140 #define TEST_V_ALLWARN BVERBOSE(V_ALLWARN)
141 #define TEST_V_INTERSECT_ELIM BVERBOSE(V_INTERSECT_ELIM)
142 #define TEST_V_INTERSECT_SYZ BVERBOSE(V_INTERSECT_SYZ)
143 
144 
145 #endif
si_opt_2
unsigned si_opt_2
Definition: options.h:14
si_opt_1
unsigned si_opt_1
Definition: options.h:13
auxiliary.h
siCntrlc
BOOLEAN siCntrlc
Definition: options.h:15
BOOLEAN
int BOOLEAN
Definition: auxiliary.h:85