abc-master
Main Page
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
misc/espresso/main.h
Go to the documentation of this file.
1
/*
2
* Revision Control Information
3
*
4
* $Source$
5
* $Author$
6
* $Revision$
7
* $Date$
8
*
9
*/
10
enum
keys
{
11
KEY_ESPRESSO
,
KEY_PLA_verify
,
KEY_check
,
KEY_contain
,
KEY_d1merge
,
12
KEY_disjoint
,
KEY_dsharp
,
KEY_echo
,
KEY_essen
,
KEY_exact
,
KEY_expand
,
13
KEY_gasp
,
KEY_intersect
,
KEY_irred
,
KEY_lexsort
,
KEY_make_sparse
,
14
KEY_map
,
KEY_mapdc
,
KEY_minterms
,
KEY_opo
,
KEY_opoall
,
15
KEY_pair
,
KEY_pairall
,
KEY_primes
,
KEY_qm
,
KEY_reduce
,
KEY_sharp
,
16
KEY_simplify
,
KEY_so
,
KEY_so_both
,
KEY_stats
,
KEY_super_gasp
,
KEY_taut
,
17
KEY_test
,
KEY_equiv
,
KEY_union
,
KEY_verify
,
KEY_MANY_ESPRESSO
,
18
KEY_separate
,
KEY_xor
,
KEY_d1merge_in
,
KEY_fsm
,
19
KEY_unknown
20
};
21
22
/* Lookup table for program options */
23
struct
{
24
char
*
name
;
25
enum
keys
key
;
26
int
num_plas
;
27
bool
needs_offset
;
28
bool
needs_dcset
;
29
}
option_table
[] = {
30
/* ways to minimize functions */
31
"ESPRESSO"
,
KEY_ESPRESSO
, 1,
TRUE
,
TRUE
,
/* must be first */
32
"many"
,
KEY_MANY_ESPRESSO
, 1,
TRUE
,
TRUE
,
33
"exact"
,
KEY_exact
, 1,
TRUE
,
TRUE
,
34
"qm"
,
KEY_qm
, 1,
TRUE
,
TRUE
,
35
"single_output"
,
KEY_so
, 1,
TRUE
,
TRUE
,
36
"so"
,
KEY_so
, 1,
TRUE
,
TRUE
,
37
"so_both"
,
KEY_so_both
, 1,
TRUE
,
TRUE
,
38
"simplify"
,
KEY_simplify
, 1,
FALSE
,
FALSE
,
39
"echo"
,
KEY_echo
, 1,
FALSE
,
FALSE
,
40
41
/* output phase assignment and assignment of inputs to two-bit decoders */
42
"opo"
,
KEY_opo
, 1,
TRUE
,
TRUE
,
43
"opoall"
,
KEY_opoall
, 1,
TRUE
,
TRUE
,
44
"pair"
,
KEY_pair
, 1,
TRUE
,
TRUE
,
45
"pairall"
,
KEY_pairall
, 1,
TRUE
,
TRUE
,
46
47
/* Ways to check covers */
48
"check"
,
KEY_check
, 1,
TRUE
,
TRUE
,
49
"stats"
,
KEY_stats
, 1,
FALSE
,
FALSE
,
50
"verify"
,
KEY_verify
, 2,
FALSE
,
TRUE
,
51
"PLAverify"
,
KEY_PLA_verify
, 2,
FALSE
,
TRUE
,
52
53
/* hacks */
54
"equiv"
,
KEY_equiv
, 1,
TRUE
,
TRUE
,
55
"map"
,
KEY_map
, 1,
FALSE
,
FALSE
,
56
"mapdc"
,
KEY_mapdc
, 1,
FALSE
,
FALSE
,
57
"fsm"
,
KEY_fsm
, 1,
FALSE
,
TRUE
,
58
59
/* the basic boolean operations on covers */
60
"contain"
,
KEY_contain
, 1,
FALSE
,
FALSE
,
61
"d1merge"
,
KEY_d1merge
, 1,
FALSE
,
FALSE
,
62
"d1merge_in"
,
KEY_d1merge_in
, 1,
FALSE
,
FALSE
,
63
"disjoint"
,
KEY_disjoint
, 1,
TRUE
,
FALSE
,
64
"dsharp"
,
KEY_dsharp
, 2,
FALSE
,
FALSE
,
65
"intersect"
,
KEY_intersect
, 2,
FALSE
,
FALSE
,
66
"minterms"
,
KEY_minterms
, 1,
FALSE
,
FALSE
,
67
"primes"
,
KEY_primes
, 1,
FALSE
,
TRUE
,
68
"separate"
,
KEY_separate
, 1,
TRUE
,
TRUE
,
69
"sharp"
,
KEY_sharp
, 2,
FALSE
,
FALSE
,
70
"union"
,
KEY_union
, 2,
FALSE
,
FALSE
,
71
"xor"
,
KEY_xor
, 2,
TRUE
,
TRUE
,
72
73
/* debugging only -- call each step of the espresso algorithm */
74
"essen"
,
KEY_essen
, 1,
FALSE
,
TRUE
,
75
"expand"
,
KEY_expand
, 1,
TRUE
,
FALSE
,
76
"gasp"
,
KEY_gasp
, 1,
TRUE
,
TRUE
,
77
"irred"
,
KEY_irred
, 1,
FALSE
,
TRUE
,
78
"make_sparse"
,
KEY_make_sparse
, 1,
TRUE
,
TRUE
,
79
"reduce"
,
KEY_reduce
, 1,
FALSE
,
TRUE
,
80
"taut"
,
KEY_taut
, 1,
FALSE
,
FALSE
,
81
"super_gasp"
,
KEY_super_gasp
, 1,
TRUE
,
TRUE
,
82
"lexsort"
,
KEY_lexsort
, 1,
FALSE
,
FALSE
,
83
"test"
,
KEY_test
, 1,
TRUE
,
TRUE
,
84
0,
KEY_unknown
, 0,
FALSE
, FALSE
/* must be last */
85
};
86
87
88
struct
{
89
char
*
name
;
90
int
value
;
91
}
debug_table
[] = {
92
""
,
EXPAND
+
ESSEN
+
IRRED
+
REDUCE
+
SPARSE
+
GASP
+
SHARP
+
MINCOV
,
93
"compl"
,
COMPL
,
"essen"
,
ESSEN
,
94
"expand"
,
EXPAND
,
"expand1"
,
EXPAND1
|
EXPAND
,
95
"irred"
,
IRRED
,
"irred1"
,
IRRED1
|
IRRED
,
96
"reduce"
,
REDUCE
,
"reduce1"
,
REDUCE1
|
REDUCE
,
97
"mincov"
,
MINCOV
,
"mincov1"
,
MINCOV1
|
MINCOV
,
98
"sparse"
,
SPARSE
,
"sharp"
,
SHARP
,
99
"taut"
,
TAUT
,
"gasp"
,
GASP
,
100
"exact"
,
EXACT
,
101
0,
102
};
103
104
105
struct
{
106
char
*
name
;
107
int
*
variable
;
108
int
value
;
109
}
esp_opt_table
[] = {
110
"eat"
, &
echo_comments
,
FALSE
,
111
"eatdots"
, &
echo_unknown_commands
,
FALSE
,
112
"fast"
, &
single_expand
,
TRUE
,
113
"kiss"
, &
kiss
,
TRUE
,
114
"ness"
, &
remove_essential
,
FALSE
,
115
"nirr"
, &
force_irredundant
,
FALSE
,
116
"nunwrap"
, &
unwrap_onset
,
FALSE
,
117
"onset"
, &
recompute_onset
,
TRUE
,
118
"pos"
, &
pos
,
TRUE
,
119
"random"
, &
use_random_order
,
TRUE
,
120
"strong"
, &
use_super_gasp
,
TRUE
,
121
0,
122
};
KEY_union
Definition:
misc/espresso/main.h:17
KEY_equiv
Definition:
misc/espresso/main.h:17
KEY_dsharp
Definition:
misc/espresso/main.h:12
single_expand
bool single_expand
Definition:
globals.c:34
KEY_reduce
Definition:
misc/espresso/main.h:15
debug_table
struct @50 debug_table[]
FALSE
#define FALSE
Definition:
cudd.h:91
KEY_irred
Definition:
misc/espresso/main.h:13
KEY_opo
Definition:
misc/espresso/main.h:14
KEY_intersect
Definition:
misc/espresso/main.h:13
GASP
#define GASP
Definition:
espresso.h:355
KEY_expand
Definition:
misc/espresso/main.h:12
unwrap_onset
bool unwrap_onset
Definition:
globals.c:37
KEY_check
Definition:
misc/espresso/main.h:11
KEY_gasp
Definition:
misc/espresso/main.h:13
variable
int * variable
Definition:
misc/espresso/main.h:107
KEY_d1merge
Definition:
misc/espresso/main.h:11
KEY_test
Definition:
misc/espresso/main.h:17
KEY_echo
Definition:
misc/espresso/main.h:12
pos
bool pos
Definition:
globals.c:30
option_table
struct @49 option_table[]
KEY_ESPRESSO
Definition:
misc/espresso/main.h:11
KEY_super_gasp
Definition:
misc/espresso/main.h:16
KEY_opoall
Definition:
misc/espresso/main.h:14
needs_offset
bool needs_offset
Definition:
misc/espresso/main.h:27
KEY_d1merge_in
Definition:
misc/espresso/main.h:18
num_plas
int num_plas
Definition:
misc/espresso/main.h:26
KEY_so
Definition:
misc/espresso/main.h:16
esp_opt_table
struct @51 esp_opt_table[]
KEY_qm
Definition:
misc/espresso/main.h:15
KEY_disjoint
Definition:
misc/espresso/main.h:12
EXPAND
#define EXPAND
Definition:
espresso.h:353
REDUCE1
#define REDUCE1
Definition:
espresso.h:358
KEY_so_both
Definition:
misc/espresso/main.h:16
KEY_contain
Definition:
misc/espresso/main.h:11
REDUCE
#define REDUCE
Definition:
espresso.h:357
KEY_pairall
Definition:
misc/espresso/main.h:15
EXPAND1
#define EXPAND1
Definition:
espresso.h:354
KEY_sharp
Definition:
misc/espresso/main.h:15
KEY_fsm
Definition:
misc/espresso/main.h:18
KEY_taut
Definition:
misc/espresso/main.h:16
KEY_verify
Definition:
misc/espresso/main.h:17
name
char * name
Definition:
misc/espresso/main.h:24
keys
keys
Definition:
misc/espresso/main.h:10
force_irredundant
bool force_irredundant
Definition:
globals.c:27
KEY_minterms
Definition:
misc/espresso/main.h:14
IRRED
#define IRRED
Definition:
espresso.h:356
KEY_primes
Definition:
misc/espresso/main.h:15
KEY_lexsort
Definition:
misc/espresso/main.h:13
KEY_mapdc
Definition:
misc/espresso/main.h:14
MINCOV1
#define MINCOV1
Definition:
espresso.h:363
use_super_gasp
bool use_super_gasp
Definition:
globals.c:39
echo_unknown_commands
bool echo_unknown_commands
Definition:
globals.c:26
echo_comments
bool echo_comments
Definition:
globals.c:25
use_random_order
bool use_random_order
Definition:
globals.c:38
TAUT
#define TAUT
Definition:
espresso.h:360
SPARSE
#define SPARSE
Definition:
espresso.h:359
TRUE
#define TRUE
Definition:
cudd.h:88
KEY_xor
Definition:
misc/espresso/main.h:18
MINCOV
#define MINCOV
Definition:
espresso.h:362
ESSEN
#define ESSEN
Definition:
espresso.h:352
KEY_PLA_verify
Definition:
misc/espresso/main.h:11
kiss
bool kiss
Definition:
globals.c:29
IRRED1
#define IRRED1
Definition:
espresso.h:365
key
enum keys key
Definition:
misc/espresso/main.h:25
KEY_make_sparse
Definition:
misc/espresso/main.h:13
KEY_unknown
Definition:
misc/espresso/main.h:19
value
int value
Definition:
misc/espresso/main.h:90
KEY_stats
Definition:
misc/espresso/main.h:16
KEY_essen
Definition:
misc/espresso/main.h:12
KEY_pair
Definition:
misc/espresso/main.h:15
KEY_exact
Definition:
misc/espresso/main.h:12
KEY_map
Definition:
misc/espresso/main.h:14
COMPL
#define COMPL
Definition:
espresso.h:351
SHARP
#define SHARP
Definition:
espresso.h:364
needs_dcset
bool needs_dcset
Definition:
misc/espresso/main.h:28
remove_essential
bool remove_essential
Definition:
globals.c:33
recompute_onset
bool recompute_onset
Definition:
globals.c:32
KEY_separate
Definition:
misc/espresso/main.h:18
KEY_simplify
Definition:
misc/espresso/main.h:16
EXACT
#define EXACT
Definition:
espresso.h:361
KEY_MANY_ESPRESSO
Definition:
misc/espresso/main.h:17
src
misc
espresso
main.h
Generated on Thu Dec 18 2014 16:11:56 for abc-master by
1.8.6