ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
espresso.h File Reference
#include "sparse.h"
#include "mincov.h"
#include "util_hack.h"
Include dependency graph for espresso.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  set_family
 
struct  cost_struct
 
struct  pair_struct
 
struct  symbolic_list_struct
 
struct  symbolic_label_struct
 
struct  symbolic_struct
 
struct  PLA_t
 
struct  pla_types_struct
 
struct  cube_struct
 
struct  cdata_struct
 

Macros

#define ABC__misc__espresso__espresso_h
 
#define print_time(t)
 
#define LOGBPI   4 /* log(BPI)/log(2) */
 
#define WHICH_WORD(element)
 
#define WHICH_BIT(element)
 
#define SET_SIZE(size)
 
#define LOOP(set)
 
#define PUTLOOP(set, i)
 
#define LOOPCOPY(set)
 
#define SIZE(set)
 
#define PUTSIZE(set, size)
 
#define NELEM(set)
 
#define LOOPINIT(size)
 
#define SET(set, flag)
 
#define RESET(set, flag)
 
#define TESTP(set, flag)
 
#define PRIME   0x8000 /* cube is prime */
 
#define NONESSEN   0x4000 /* cube cannot be essential prime */
 
#define ACTIVE   0x2000 /* cube is still active */
 
#define REDUND   0x1000 /* cube is redundant(at this point) */
 
#define COVERED   0x0800 /* cube has been covered */
 
#define RELESSEN   0x0400 /* cube is relatively essential */
 
#define foreach_set(R, last, p)
 
#define foreach_remaining_set(R, last, pfirst, p)
 
#define foreach_active_set(R, last, p)
 
#define foreachi_set(R, i, p)
 
#define foreachi_active_set(R, i, p)
 
#define foreach_set_element(p, i, val, base)
 
#define GETSET(family, index)
 
#define set_new(size)
 
#define set_full(size)
 
#define set_save(r)
 
#define set_free(r)
 
#define is_in_set(set, e)
 
#define set_remove(set, e)
 
#define set_insert(set, e)
 
#define INLINEset_copy(r, a)
 
#define INLINEset_clear(r, size)
 
#define INLINEset_fill(r, size)
 
#define INLINEset_and(r, a, b)
 
#define INLINEset_or(r, a, b)
 
#define INLINEset_diff(r, a, b)
 
#define INLINEset_ndiff(r, a, b, fullset)
 
#define INLINEset_xor(r, a, b)
 
#define INLINEset_xnor(r, a, b, fullset)
 
#define INLINEset_merge(r, a, b, mask)
 
#define INLINEsetp_implies(a, b, when_false)
 
#define INLINEsetp_disjoint(a, b, when_false)
 
#define INLINEsetp_equal(a, b, when_false)
 
#define count_ones(v)
 
#define bool   int
 
#define FALSE   0
 
#define TRUE   1
 
#define MAYBE   2
 
#define print_bool(x)
 
#define pcube   pset
 
#define new_cube()
 
#define free_cube(r)
 
#define pcover   pset_family
 
#define new_cover(i)
 
#define free_cover(r)
 
#define free_cubelist(T)
 
#define equal(a, b)
 
#define CUBELISTSIZE(T)
 
#define IN
 
#define OUT
 
#define INOUT
 
#define F_type   1
 
#define D_type   2
 
#define R_type   4
 
#define PLEASURE_type   8 /* output format */
 
#define EQNTOTT_type   16 /* output format algebraic eqns */
 
#define KISS_type   128 /* output format kiss */
 
#define CONSTRAINTS_type   256 /* output the constraints (numeric) */
 
#define SYMBOLIC_CONSTRAINTS_type   512 /* output the constraints (symbolic) */
 
#define FD_type   (F_type | D_type)
 
#define FR_type   (F_type | R_type)
 
#define DR_type   (D_type | R_type)
 
#define FDR_type   (F_type | D_type | R_type)
 
#define COMPL   0x0001
 
#define ESSEN   0x0002
 
#define EXPAND   0x0004
 
#define EXPAND1   0x0008
 
#define GASP   0x0010
 
#define IRRED   0x0020
 
#define REDUCE   0x0040
 
#define REDUCE1   0x0080
 
#define SPARSE   0x0100
 
#define TAUT   0x0200
 
#define EXACT   0x0400
 
#define MINCOV   0x0800
 
#define MINCOV1   0x1000
 
#define SHARP   0x2000
 
#define IRRED1   0x4000
 
#define VERSION    "UC Berkeley, Espresso Version #2.3, Release date 01/31/88"
 
#define TIME_COUNT   16
 
#define READ_TIME   0
 
#define COMPL_TIME   1
 
#define ONSET_TIME   2
 
#define ESSEN_TIME   3
 
#define EXPAND_TIME   4
 
#define IRRED_TIME   5
 
#define REDUCE_TIME   6
 
#define GEXPAND_TIME   7
 
#define GIRRED_TIME   8
 
#define GREDUCE_TIME   9
 
#define PRIMES_TIME   10
 
#define MINCOV_TIME   11
 
#define MV_REDUCE_TIME   12
 
#define RAISE_IN_TIME   13
 
#define VERIFY_TIME   14
 
#define WRITE_TIME   15
 
#define NUMINPUTS   cube.num_binary_vars
 
#define NUMOUTPUTS   cube.part_size[cube.num_vars - 1]
 
#define POSITIVE_PHASE(pos)
 
#define INLABEL(var)
 
#define OUTLABEL(pos)
 
#define GETINPUT(c, pos)
 
#define GETOUTPUT(c, pos)
 
#define PUTINPUT(c, pos, value)
 
#define PUTOUTPUT(c, pos, value)
 
#define TWO   3
 
#define DASH   3
 
#define ONE   2
 
#define ZERO   1
 
#define EXEC(fct, name, S)
 
#define EXEC_S(fct, name, S)
 
#define EXECUTE(fct, i, S, cost)
 
#define CUBE_TEMP   10
 
#define DISJOINT   0x5555
 

Typedefs

typedef unsigned int * pset
 
typedef struct set_family set_family_t
 
typedef struct set_familypset_family
 
typedef struct cost_struct cost_t
 
typedef struct cost_structpcost
 
typedef struct pair_struct pair_t
 
typedef struct pair_structppair
 
typedef struct symbolic_list_struct symbolic_list_t
 
typedef struct symbolic_label_struct symbolic_label_t
 
typedef struct symbolic_struct symbolic_t
 
typedef struct PLA_tpPLA
 

Functions

ABC_NAMESPACE_HEADER_END int binate_split_select ()
 
pcover cubeunlist ()
 
pcubecofactor ()
 
pcubecube1list ()
 
pcubecube2list ()
 
pcubecube3list ()
 
pcubescofactor ()
 
void massive_count ()
 
pcover complement ()
 
pcover simplify ()
 
void simp_comp ()
 
int d1_rm_equal ()
 
int rm2_contain ()
 
int rm2_equal ()
 
int rm_contain ()
 
int rm_equal ()
 
int rm_rev_contain ()
 
psetsf_list ()
 
psetsf_sort ()
 
pset_family d1merge ()
 
pset_family dist_merge ()
 
pset_family sf_contain ()
 
pset_family sf_dupl ()
 
pset_family sf_ind_contain ()
 
pset_family sf_ind_unlist ()
 
pset_family sf_merge ()
 
pset_family sf_rev_contain ()
 
pset_family sf_union ()
 
pset_family sf_unlist ()
 
void cube_setup ()
 
void restore_cube_struct ()
 
void save_cube_struct ()
 
void setdown_cube ()
 
void PLA_labels ()
 
char * get_word ()
 
int label_index ()
 
int read_pla ()
 
int read_symbolic ()
 
pPLA new_PLA ()
 
void PLA_summary ()
 
void free_PLA ()
 
void parse_pla ()
 
void read_cube ()
 
void skip_line ()
 
void foreach_output_function ()
 
int cubelist_partition ()
 
int so_both_do_espresso ()
 
int so_both_do_exact ()
 
int so_both_save ()
 
int so_do_espresso ()
 
int so_do_exact ()
 
int so_save ()
 
pcover cof_output ()
 
pcover lex_sort ()
 
pcover mini_sort ()
 
pcover random_order ()
 
pcover size_sort ()
 
pcover sort_reduce ()
 
pcover uncof_output ()
 
pcover unravel ()
 
pcover unravel_range ()
 
void so_both_espresso ()
 
void so_espresso ()
 
char * fmt_cost ()
 
char * print_cost ()
 
char * strsav ()
 
void copy_cost ()
 
void cover_cost ()
 
void fatal ()
 
void print_trace ()
 
void size_stamp ()
 
void totals ()
 
char * fmt_cube ()
 
char * fmt_expanded_cube ()
 
char * pc1 ()
 
char * pc2 ()
 
char * pc3 ()
 
void makeup_labels ()
 
void kiss_output ()
 
void kiss_print_cube ()
 
void output_symbolic_constraints ()
 
void cprint ()
 
void debug1_print ()
 
void debug_print ()
 
void eqn_output ()
 
void fpr_header ()
 
void fprint_pla ()
 
void pls_group ()
 
void pls_label ()
 
void pls_output ()
 
void print_cube ()
 
void print_expanded_cube ()
 
void sf_debug_print ()
 
void find_equiv_outputs ()
 
int check_equiv ()
 
pcover espresso ()
 
bool essen_cube ()
 
pcover cb_consensus ()
 
pcover cb_consensus_dist0 ()
 
pcover essential ()
 
pcover minimize_exact ()
 
pcover minimize_exact_literals ()
 
bool feasibly_covered ()
 
int most_frequent ()
 
pcover all_primes ()
 
pcover expand ()
 
pcover find_all_primes ()
 
void elim_lowering ()
 
void essen_parts ()
 
void essen_raising ()
 
void expand1 ()
 
void mincov ()
 
void select_feasible ()
 
void setup_BB_CC ()
 
pcover expand_gasp ()
 
pcover irred_gasp ()
 
pcover last_gasp ()
 
pcover super_gasp ()
 
void expand1_gasp ()
 
int util_getopt ()
 
void find_dc_inputs ()
 
void find_inputs ()
 
void form_bitvector ()
 
void map_dcset ()
 
void map_output_symbolic ()
 
void map_symbolic ()
 
pcover map_symbolic_cover ()
 
void symbolic_hack_labels ()
 
bool cube_is_covered ()
 
bool taut_special_cases ()
 
bool tautology ()
 
pcover irredundant ()
 
void mark_irredundant ()
 
void irred_split_cover ()
 
sm_matrixirred_derive_table ()
 
pset minterms ()
 
void explode ()
 
void map ()
 
void output_phase_setup ()
 
pPLA set_phase ()
 
pcover opo ()
 
pcube find_phase ()
 
pset_family find_covers ()
 
pset_family form_cover_table ()
 
pset_family opo_leaf ()
 
pset_family opo_recur ()
 
void opoall ()
 
void phase_assignment ()
 
void repeated_phase_assignment ()
 
void generate_all_pairs ()
 
int ** find_pairing_cost ()
 
void find_best_cost ()
 
int greedy_best_cost ()
 
void minimize_pair ()
 
void pair_free ()
 
void pair_all ()
 
pcover delvar ()
 
pcover pairvar ()
 
ppair pair_best_cost ()
 
ppair pair_new ()
 
ppair pair_save ()
 
void print_pair ()
 
void find_optimal_pairing ()
 
void set_pair ()
 
void set_pair1 ()
 
pcover primes_consensus ()
 
bool sccc_special_cases ()
 
pcover reduce ()
 
pcube reduce_cube ()
 
pcube sccc ()
 
pcube sccc_cube ()
 
pcube sccc_merge ()
 
bool set_andp ()
 
bool set_orp ()
 
bool setp_disjoint ()
 
bool setp_empty ()
 
bool setp_equal ()
 
bool setp_full ()
 
bool setp_implies ()
 
char * pbv1 ()
 
char * ps1 ()
 
int * sf_count ()
 
int * sf_count_restricted ()
 
int bit_index ()
 
int set_dist ()
 
int set_ord ()
 
void set_adjcnt ()
 
pset set_and ()
 
pset set_clear ()
 
pset set_copy ()
 
pset set_diff ()
 
pset set_fill ()
 
pset set_merge ()
 
pset set_or ()
 
pset set_xor ()
 
pset sf_and ()
 
pset sf_or ()
 
pset_family sf_active ()
 
pset_family sf_addcol ()
 
pset_family sf_addset ()
 
pset_family sf_append ()
 
pset_family sf_bm_read ()
 
pset_family sf_compress ()
 
pset_family sf_copy ()
 
pset_family sf_copy_col ()
 
pset_family sf_delc ()
 
pset_family sf_delcol ()
 
pset_family sf_inactive ()
 
pset_family sf_join ()
 
pset_family sf_new ()
 
pset_family sf_permute ()
 
pset_family sf_read ()
 
pset_family sf_save ()
 
pset_family sf_transpose ()
 
void set_write ()
 
void sf_bm_print ()
 
void sf_cleanup ()
 
void sf_delset ()
 
void sf_free ()
 
void sf_print ()
 
void sf_write ()
 
bool ccommon ()
 
bool cdist0 ()
 
bool full_row ()
 
int ascend ()
 
int cactive ()
 
int cdist ()
 
int cdist01 ()
 
int cvolume ()
 
int d1_order ()
 
int d1_order_size ()
 
int desc1 ()
 
int descend ()
 
int lex_order ()
 
int lex_order1 ()
 
pset force_lower ()
 
void consensus ()
 
pcover cb1_dsharp ()
 
pcover cb_dsharp ()
 
pcover cb_recur_dsharp ()
 
pcover cb_recur_sharp ()
 
pcover cb_sharp ()
 
pcover cv_dsharp ()
 
pcover cv_intersect ()
 
pcover cv_sharp ()
 
pcover dsharp ()
 
pcover make_disjoint ()
 
pcover sharp ()
 
pset do_sm_minimum_cover ()
 
pcover make_sparse ()
 
pcover mv_reduce ()
 
pcover find_all_minimal_covers_petrick ()
 
pcover map_cover_to_unate ()
 
pcover map_unate_to_cover ()
 
pset_family exact_minimum_cover ()
 
pset_family gen_primes ()
 
pset_family unate_compl ()
 
pset_family unate_complement ()
 
pset_family unate_intersect ()
 
void PLA_permute ()
 
bool PLA_verify ()
 
bool check_consistency ()
 
bool verify ()
 

Variables

int bit_count [256]
 
unsigned int debug
 
bool verbose_debug
 
char * total_name [TIME_COUNT]
 
long total_time [TIME_COUNT]
 
int total_calls [TIME_COUNT]
 
bool echo_comments
 
bool echo_unknown_commands
 
bool force_irredundant
 
bool skip_make_sparse
 
bool kiss
 
bool pos
 
bool print_solution
 
bool recompute_onset
 
bool remove_essential
 
bool single_expand
 
bool summary
 
bool trace
 
bool unwrap_onset
 
bool use_random_order
 
bool use_super_gasp
 
char * filename
 
bool debug_exact_minimization
 
struct pla_types_struct pla_types []
 
struct cube_struct cube temp_cube_save
 
struct cdata_struct cdata temp_cdata_save
 

Macro Definition Documentation

◆ ABC__misc__espresso__espresso_h

#define ABC__misc__espresso__espresso_h

Definition at line 21 of file espresso.h.

◆ ACTIVE

#define ACTIVE   0x2000 /* cube is still active */

Definition at line 129 of file espresso.h.

◆ bool

#define bool   int

Definition at line 254 of file espresso.h.

◆ COMPL

#define COMPL   0x0001

Definition at line 351 of file espresso.h.

◆ COMPL_TIME

#define COMPL_TIME   1

Definition at line 373 of file espresso.h.

◆ CONSTRAINTS_type

#define CONSTRAINTS_type   256 /* output the constraints (numeric) */

Definition at line 343 of file espresso.h.

◆ count_ones

#define count_ones ( v)
Value:
(bit_count[v & 255] + bit_count[(v >> 8) & 255])

Definition at line 245 of file espresso.h.

◆ COVERED

#define COVERED   0x0800 /* cube has been covered */

Definition at line 131 of file espresso.h.

◆ CUBE_TEMP

#define CUBE_TEMP   10

Definition at line 469 of file espresso.h.

◆ CUBELISTSIZE

#define CUBELISTSIZE ( T)
Value:
(((pcube *) T[1] - T) - 3)
#define pcube
Definition espresso.h:261

Definition at line 329 of file espresso.h.

◆ D_type

#define D_type   2

Definition at line 338 of file espresso.h.

◆ DASH

#define DASH   3

Definition at line 413 of file espresso.h.

◆ DISJOINT

#define DISJOINT   0x5555

Definition at line 514 of file espresso.h.

◆ DR_type

#define DR_type   (D_type | R_type)

Definition at line 347 of file espresso.h.

◆ EQNTOTT_type

#define EQNTOTT_type   16 /* output format algebraic eqns */

Definition at line 341 of file espresso.h.

◆ equal

#define equal ( a,
b )
Value:
(strcmp(a,b) == 0)
int strcmp()

Definition at line 326 of file espresso.h.

◆ ESSEN

#define ESSEN   0x0002

Definition at line 352 of file espresso.h.

◆ ESSEN_TIME

#define ESSEN_TIME   3

Definition at line 375 of file espresso.h.

◆ EXACT

#define EXACT   0x0400

Definition at line 361 of file espresso.h.

◆ EXEC

#define EXEC ( fct,
name,
S )
Value:
{long t=ptime();fct;if(trace)print_trace(S,name,ptime()-t);}
void print_trace()
bool trace
Definition globals.c:36
char * name
Definition main.h:24
#define ptime()
Definition util_old.h:283

Definition at line 418 of file espresso.h.

418#define EXEC(fct, name, S)\
419 {long t=ptime();fct;if(trace)print_trace(S,name,ptime()-t);}

◆ EXEC_S

#define EXEC_S ( fct,
name,
S )
Value:
{long t=ptime();fct;if(summary)print_trace(S,name,ptime()-t);}
bool summary
Definition globals.c:35

Definition at line 420 of file espresso.h.

420#define EXEC_S(fct, name, S)\
421 {long t=ptime();fct;if(summary)print_trace(S,name,ptime()-t);}

◆ EXECUTE

#define EXECUTE ( fct,
i,
S,
cost )
Value:
{long t=ptime();fct;totals(t,i,S,&(cost));}
void totals()

Definition at line 422 of file espresso.h.

422#define EXECUTE(fct,i,S,cost)\
423 {long t=ptime();fct;totals(t,i,S,&(cost));}

◆ EXPAND

#define EXPAND   0x0004

Definition at line 353 of file espresso.h.

◆ EXPAND1

#define EXPAND1   0x0008

Definition at line 354 of file espresso.h.

◆ EXPAND_TIME

#define EXPAND_TIME   4

Definition at line 376 of file espresso.h.

◆ F_type

#define F_type   1

Definition at line 337 of file espresso.h.

◆ FALSE

#define FALSE   0

Definition at line 255 of file espresso.h.

◆ FD_type

#define FD_type   (F_type | D_type)

Definition at line 345 of file espresso.h.

◆ FDR_type

#define FDR_type   (F_type | D_type | R_type)

Definition at line 348 of file espresso.h.

◆ foreach_active_set

#define foreach_active_set ( R,
last,
p )
Value:
foreach_set(R,last,p) if (TESTP(p, ACTIVE))
#define TESTP(set, flag)
Definition espresso.h:124
#define ACTIVE
Definition espresso.h:129
#define foreach_set(R, last, p)
Definition espresso.h:135
Cube * p
Definition exorList.c:222

Definition at line 139 of file espresso.h.

139#define foreach_active_set(R, last, p)\
140 foreach_set(R,last,p) if (TESTP(p, ACTIVE))

◆ foreach_remaining_set

#define foreach_remaining_set ( R,
last,
pfirst,
p )
Value:
for(p=pfirst+R->wsize,last=R->data+R->count*R->wsize;p<last;p+=R->wsize)

Definition at line 137 of file espresso.h.

137#define foreach_remaining_set(R, last, pfirst, p)\
138 for(p=pfirst+R->wsize,last=R->data+R->count*R->wsize;p<last;p+=R->wsize)

◆ foreach_set

#define foreach_set ( R,
last,
p )
Value:
for(p=R->data,last=p+R->count*R->wsize;p<last;p+=R->wsize)

Definition at line 135 of file espresso.h.

135#define foreach_set(R, last, p)\
136 for(p=R->data,last=p+R->count*R->wsize;p<last;p+=R->wsize)

◆ foreach_set_element

#define foreach_set_element ( p,
i,
val,
base )
Value:
for(i = LOOP(p); i > 0; ) \
for(val = p[i], base = --i << LOGBPI; val != 0; base++, val >>= 1) \
if (val & 1)
#define LOOP(set)
Definition espresso.h:104
#define LOGBPI
Definition espresso.h:69

Definition at line 155 of file espresso.h.

155#define foreach_set_element(p, i, val, base) \
156 for(i = LOOP(p); i > 0; ) \
157 for(val = p[i], base = --i << LOGBPI; val != 0; base++, val >>= 1) \
158 if (val & 1)

◆ foreachi_active_set

#define foreachi_active_set ( R,
i,
p )
Value:
foreachi_set(R,i,p) if (TESTP(p, ACTIVE))
#define foreachi_set(R, i, p)
Definition espresso.h:143

Definition at line 145 of file espresso.h.

145#define foreachi_active_set(R, i, p)\
146 foreachi_set(R,i,p) if (TESTP(p, ACTIVE))

◆ foreachi_set

#define foreachi_set ( R,
i,
p )
Value:
for(p=R->data,i=0;i<R->count;p+=R->wsize,i++)

Definition at line 143 of file espresso.h.

143#define foreachi_set(R, i, p)\
144 for(p=R->data,i=0;i<R->count;p+=R->wsize,i++)

◆ FR_type

#define FR_type   (F_type | R_type)

Definition at line 346 of file espresso.h.

◆ free_cover

#define free_cover ( r)
Value:
void sf_free()

Definition at line 266 of file espresso.h.

◆ free_cube

#define free_cube ( r)
Value:
#define set_free(r)
Definition espresso.h:167

Definition at line 263 of file espresso.h.

◆ free_cubelist

#define free_cubelist ( T)
Value:
FREE(T[0]); FREE(T);
#define FREE(obj)
Definition avl.h:31

Definition at line 267 of file espresso.h.

◆ GASP

#define GASP   0x0010

Definition at line 355 of file espresso.h.

◆ GETINPUT

#define GETINPUT ( c,
pos )
Value:
((c[WHICH_WORD(2*pos)] >> WHICH_BIT(2*pos)) & 3)
#define WHICH_WORD(element)
Definition espresso.h:87
#define WHICH_BIT(element)
Definition espresso.h:88
bool pos
Definition globals.c:30

Definition at line 400 of file espresso.h.

400#define GETINPUT(c, pos)\
401 ((c[WHICH_WORD(2*pos)] >> WHICH_BIT(2*pos)) & 3)

◆ GETOUTPUT

#define GETOUTPUT ( c,
pos )
Value:
(is_in_set(c, cube.first_part[cube.output] + pos) != 0)
#define is_in_set(set, e)
Definition espresso.h:170
Definition exor.h:123

Definition at line 402 of file espresso.h.

402#define GETOUTPUT(c, pos)\
403 (is_in_set(c, cube.first_part[cube.output] + pos) != 0)

◆ GETSET

#define GETSET ( family,
index )
Value:
((family)->data + (family)->wsize * (index))

Definition at line 161 of file espresso.h.

◆ GEXPAND_TIME

#define GEXPAND_TIME   7

Definition at line 379 of file espresso.h.

◆ GIRRED_TIME

#define GIRRED_TIME   8

Definition at line 380 of file espresso.h.

◆ GREDUCE_TIME

#define GREDUCE_TIME   9

Definition at line 381 of file espresso.h.

◆ IN

#define IN

Definition at line 332 of file espresso.h.

◆ INLABEL

#define INLABEL ( var)
Value:
PLA->label[cube.first_part[var] + 1]

Definition at line 397 of file espresso.h.

◆ INLINEset_and

#define INLINEset_and ( r,
a,
b )
Value:
{register int i_=LOOP(a); PUTLOOP(r,i_);\
do r[i_] = a[i_] & b[i_]; while (--i_>0);}
#define PUTLOOP(set, i)
Definition espresso.h:105

Definition at line 202 of file espresso.h.

202#define INLINEset_and(r, a, b)\
203 {register int i_=LOOP(a); PUTLOOP(r,i_);\
204 do r[i_] = a[i_] & b[i_]; while (--i_>0);}

◆ INLINEset_clear

#define INLINEset_clear ( r,
size )
Value:
{register int i_=LOOPINIT(size); *r=i_; do r[i_] = 0; while (--i_ > 0);}
#define LOOPINIT(size)
Definition espresso.h:117

Definition at line 197 of file espresso.h.

197#define INLINEset_clear(r, size)\
198 {register int i_=LOOPINIT(size); *r=i_; do r[i_] = 0; while (--i_ > 0);}

◆ INLINEset_copy

#define INLINEset_copy ( r,
a )
Value:
{register int i_=LOOPCOPY(a); do r[i_]=a[i_]; while (--i_>=0);}
#define LOOPCOPY(set)
Definition espresso.h:111

Definition at line 195 of file espresso.h.

195#define INLINEset_copy(r, a)\
196 {register int i_=LOOPCOPY(a); do r[i_]=a[i_]; while (--i_>=0);}

◆ INLINEset_diff

#define INLINEset_diff ( r,
a,
b )
Value:
{register int i_=LOOP(a); PUTLOOP(r,i_);\
do r[i_] = a[i_] & ~ b[i_]; while (--i_>0);}

Definition at line 208 of file espresso.h.

208#define INLINEset_diff(r, a, b)\
209 {register int i_=LOOP(a); PUTLOOP(r,i_);\
210 do r[i_] = a[i_] & ~ b[i_]; while (--i_>0);}

◆ INLINEset_fill

#define INLINEset_fill ( r,
size )
Value:
{register int i_=LOOPINIT(size); *r=i_; \
r[i_]=((unsigned int)(~0))>>(i_*BPI-size); while(--i_>0) r[i_]=~0;}
@ BPI
Definition exor.h:59

Definition at line 199 of file espresso.h.

199#define INLINEset_fill(r, size)\
200 {register int i_=LOOPINIT(size); *r=i_; \
201 r[i_]=((unsigned int)(~0))>>(i_*BPI-size); while(--i_>0) r[i_]=~0;}

◆ INLINEset_merge

#define INLINEset_merge ( r,
a,
b,
mask )
Value:
{register int i_=LOOP(a); PUTLOOP(r,i_);\
do r[i_] = (a[i_]&mask[i_]) | (b[i_]&~mask[i_]); while (--i_>0);}

Definition at line 225 of file espresso.h.

225#define INLINEset_merge(r, a, b, mask)\
226 {register int i_=LOOP(a); PUTLOOP(r,i_);\
227 do r[i_] = (a[i_]&mask[i_]) | (b[i_]&~mask[i_]); while (--i_>0);}

◆ INLINEset_ndiff

#define INLINEset_ndiff ( r,
a,
b,
fullset )
Value:
{register int i_=LOOP(a); PUTLOOP(r,i_);\
do r[i_] = fullset[i_] & (a[i_] | ~ b[i_]); while (--i_>0);}

Definition at line 211 of file espresso.h.

211#define INLINEset_ndiff(r, a, b, fullset)\
212 {register int i_=LOOP(a); PUTLOOP(r,i_);\
213 do r[i_] = fullset[i_] & (a[i_] | ~ b[i_]); while (--i_>0);}

◆ INLINEset_or

#define INLINEset_or ( r,
a,
b )
Value:
{register int i_=LOOP(a); PUTLOOP(r,i_);\
do r[i_] = a[i_] | b[i_]; while (--i_>0);}

Definition at line 205 of file espresso.h.

205#define INLINEset_or(r, a, b)\
206 {register int i_=LOOP(a); PUTLOOP(r,i_);\
207 do r[i_] = a[i_] | b[i_]; while (--i_>0);}

◆ INLINEset_xnor

#define INLINEset_xnor ( r,
a,
b,
fullset )
Value:
{register int i_=LOOP(a); PUTLOOP(r,i_);\
do r[i_] = fullset[i_] & ~ (a[i_] ^ b[i_]); while (--i_>0);}

Definition at line 221 of file espresso.h.

221#define INLINEset_xnor(r, a, b, fullset)\
222 {register int i_=LOOP(a); PUTLOOP(r,i_);\
223 do r[i_] = fullset[i_] & ~ (a[i_] ^ b[i_]); while (--i_>0);}

◆ INLINEset_xor

#define INLINEset_xor ( r,
a,
b )
Value:
{register int i_=LOOP(a); PUTLOOP(r,i_);\
do r[i_] = a[i_] ^ b[i_]; while (--i_>0);}

Definition at line 218 of file espresso.h.

218#define INLINEset_xor(r, a, b)\
219 {register int i_=LOOP(a); PUTLOOP(r,i_);\
220 do r[i_] = a[i_] ^ b[i_]; while (--i_>0);}

◆ INLINEsetp_disjoint

#define INLINEsetp_disjoint ( a,
b,
when_false )
Value:
{register int i_=LOOP(a); do if (a[i_]&b[i_]) break; while (--i_>0);\
if (i_ != 0) when_false;}

Definition at line 231 of file espresso.h.

231#define INLINEsetp_disjoint(a, b, when_false)\
232 {register int i_=LOOP(a); do if (a[i_]&b[i_]) break; while (--i_>0);\
233 if (i_ != 0) when_false;}

◆ INLINEsetp_equal

#define INLINEsetp_equal ( a,
b,
when_false )
Value:
{register int i_=LOOP(a); do if (a[i_]!=b[i_]) break; while (--i_>0);\
if (i_ != 0) when_false;}

Definition at line 234 of file espresso.h.

234#define INLINEsetp_equal(a, b, when_false)\
235 {register int i_=LOOP(a); do if (a[i_]!=b[i_]) break; while (--i_>0);\
236 if (i_ != 0) when_false;}

◆ INLINEsetp_implies

#define INLINEsetp_implies ( a,
b,
when_false )
Value:
{register int i_=LOOP(a); do if (a[i_]&~b[i_]) break; while (--i_>0);\
if (i_ != 0) when_false;}

Definition at line 228 of file espresso.h.

228#define INLINEsetp_implies(a, b, when_false)\
229 {register int i_=LOOP(a); do if (a[i_]&~b[i_]) break; while (--i_>0);\
230 if (i_ != 0) when_false;}

◆ INOUT

#define INOUT

Definition at line 334 of file espresso.h.

◆ IRRED

#define IRRED   0x0020

Definition at line 356 of file espresso.h.

◆ IRRED1

#define IRRED1   0x4000

Definition at line 365 of file espresso.h.

◆ IRRED_TIME

#define IRRED_TIME   5

Definition at line 377 of file espresso.h.

◆ is_in_set

#define is_in_set ( set,
e )
Value:
(set[WHICH_WORD(e)] & (1 << WHICH_BIT(e)))

Definition at line 170 of file espresso.h.

◆ KISS_type

#define KISS_type   128 /* output format kiss */

Definition at line 342 of file espresso.h.

◆ LOGBPI

#define LOGBPI   4 /* log(BPI)/log(2) */

Definition at line 69 of file espresso.h.

◆ LOOP

#define LOOP ( set)
Value:
(set[0] & 0x03ff)

Definition at line 104 of file espresso.h.

◆ LOOPCOPY

#define LOOPCOPY ( set)
Value:
(LOOP(set) + 1)

Definition at line 111 of file espresso.h.

◆ LOOPINIT

#define LOOPINIT ( size)
Value:
((size <= BPI) ? 1 : WHICH_WORD((size)-1))

Definition at line 117 of file espresso.h.

◆ MAYBE

#define MAYBE   2

Definition at line 257 of file espresso.h.

◆ MINCOV

#define MINCOV   0x0800

Definition at line 362 of file espresso.h.

◆ MINCOV1

#define MINCOV1   0x1000

Definition at line 363 of file espresso.h.

◆ MINCOV_TIME

#define MINCOV_TIME   11

Definition at line 383 of file espresso.h.

◆ MV_REDUCE_TIME

#define MV_REDUCE_TIME   12

Definition at line 384 of file espresso.h.

◆ NELEM

#define NELEM ( set)
Value:
(BPI * LOOP(set))

Definition at line 116 of file espresso.h.

◆ new_cover

#define new_cover ( i)
Value:
sf_new(i, cube.size)
pset_family sf_new()

Definition at line 265 of file espresso.h.

◆ new_cube

#define new_cube ( )
Value:
#define set_new(size)
Definition espresso.h:164

Definition at line 262 of file espresso.h.

◆ NONESSEN

#define NONESSEN   0x4000 /* cube cannot be essential prime */

Definition at line 128 of file espresso.h.

◆ NUMINPUTS

#define NUMINPUTS   cube.num_binary_vars

Definition at line 391 of file espresso.h.

◆ NUMOUTPUTS

#define NUMOUTPUTS   cube.part_size[cube.num_vars - 1]

Definition at line 392 of file espresso.h.

◆ ONE

#define ONE   2

Definition at line 414 of file espresso.h.

◆ ONSET_TIME

#define ONSET_TIME   2

Definition at line 374 of file espresso.h.

◆ OUT

#define OUT

Definition at line 333 of file espresso.h.

◆ OUTLABEL

#define OUTLABEL ( pos)
Value:
PLA->label[cube.first_part[cube.output] + pos]

Definition at line 398 of file espresso.h.

◆ pcover

#define pcover   pset_family

Definition at line 264 of file espresso.h.

◆ pcube

#define pcube   pset

Definition at line 261 of file espresso.h.

◆ PLEASURE_type

#define PLEASURE_type   8 /* output format */

Definition at line 340 of file espresso.h.

◆ POSITIVE_PHASE

#define POSITIVE_PHASE ( pos)
Value:
(is_in_set(PLA->phase, cube.first_part[cube.output]+pos) != 0)

Definition at line 394 of file espresso.h.

394#define POSITIVE_PHASE(pos)\
395 (is_in_set(PLA->phase, cube.first_part[cube.output]+pos) != 0)

◆ PRIME

#define PRIME   0x8000 /* cube is prime */

Definition at line 127 of file espresso.h.

◆ PRIMES_TIME

#define PRIMES_TIME   10

Definition at line 382 of file espresso.h.

◆ print_bool

#define print_bool ( x)
Value:
((x) == 0 ? "FALSE" : ((x) == 1 ? "TRUE" : "MAYBE"))

Definition at line 258 of file espresso.h.

◆ print_time

#define print_time ( t)
Value:
util_print_time(t)

Definition at line 22 of file espresso.h.

◆ PUTINPUT

#define PUTINPUT ( c,
pos,
value )
Value:
c[WHICH_WORD(2*pos)] = (c[WHICH_WORD(2*pos)] & ~(3 << WHICH_BIT(2*pos)))\
| (value << WHICH_BIT(2*pos))
ABC_NAMESPACE_IMPL_START typedef signed char value

Definition at line 405 of file espresso.h.

405#define PUTINPUT(c, pos, value)\
406 c[WHICH_WORD(2*pos)] = (c[WHICH_WORD(2*pos)] & ~(3 << WHICH_BIT(2*pos)))\
407 | (value << WHICH_BIT(2*pos))

◆ PUTLOOP

#define PUTLOOP ( set,
i )
Value:
(set[0] &= ~0x03ff, set[0] |= (i))

Definition at line 105 of file espresso.h.

◆ PUTOUTPUT

#define PUTOUTPUT ( c,
pos,
value )
Value:
c[WHICH_WORD(pos)] = (c[WHICH_WORD(pos)] & ~(1 << WHICH_BIT(pos)))\

Definition at line 408 of file espresso.h.

408#define PUTOUTPUT(c, pos, value)\
409 c[WHICH_WORD(pos)] = (c[WHICH_WORD(pos)] & ~(1 << WHICH_BIT(pos)))\
410 | (value << WHICH_BIT(pos))

◆ PUTSIZE

#define PUTSIZE ( set,
size )
Value:
((set[LOOP(set)+1]) = (size))

Definition at line 113 of file espresso.h.

◆ R_type

#define R_type   4

Definition at line 339 of file espresso.h.

◆ RAISE_IN_TIME

#define RAISE_IN_TIME   13

Definition at line 385 of file espresso.h.

◆ READ_TIME

#define READ_TIME   0

Definition at line 372 of file espresso.h.

◆ REDUCE

#define REDUCE   0x0040

Definition at line 357 of file espresso.h.

◆ REDUCE1

#define REDUCE1   0x0080

Definition at line 358 of file espresso.h.

◆ REDUCE_TIME

#define REDUCE_TIME   6

Definition at line 378 of file espresso.h.

◆ REDUND

#define REDUND   0x1000 /* cube is redundant(at this point) */

Definition at line 130 of file espresso.h.

◆ RELESSEN

#define RELESSEN   0x0400 /* cube is relatively essential */

Definition at line 132 of file espresso.h.

◆ RESET

#define RESET ( set,
flag )
Value:
(set[0] &= ~ (flag))

Definition at line 123 of file espresso.h.

◆ SET

#define SET ( set,
flag )
Value:
(set[0] |= (flag))

Definition at line 122 of file espresso.h.

◆ set_free

#define set_free ( r)
Value:
FREE(r)

Definition at line 167 of file espresso.h.

◆ set_full

#define set_full ( size)
Value:
set_fill(ALLOC(unsigned int, SET_SIZE(size)), size)
#define ALLOC(type, num)
Definition avl.h:27
pset set_fill()
#define SET_SIZE(size)
Definition espresso.h:94

Definition at line 165 of file espresso.h.

◆ set_insert

#define set_insert ( set,
e )
Value:
(set[WHICH_WORD(e)] |= 1 << WHICH_BIT(e))

Definition at line 172 of file espresso.h.

◆ set_new

#define set_new ( size)
Value:
set_clear(ALLOC(unsigned int, SET_SIZE(size)), size)
pset set_clear()

Definition at line 164 of file espresso.h.

◆ set_remove

#define set_remove ( set,
e )
Value:
(set[WHICH_WORD(e)] &= ~ (1 << WHICH_BIT(e)))

Definition at line 171 of file espresso.h.

◆ set_save

#define set_save ( r)
Value:
set_copy(ALLOC(unsigned int, SET_SIZE(NELEM(r))), r)
#define NELEM(set)
Definition espresso.h:116
pset set_copy()

Definition at line 166 of file espresso.h.

◆ SET_SIZE

#define SET_SIZE ( size)
Value:
((size) <= BPI ? 3 : (WHICH_WORD((size)-1) + 2))

Definition at line 94 of file espresso.h.

◆ SHARP

#define SHARP   0x2000

Definition at line 364 of file espresso.h.

◆ SIZE

#define SIZE ( set)
Value:
(set[LOOP(set)+1])

Definition at line 112 of file espresso.h.

◆ SPARSE

#define SPARSE   0x0100

Definition at line 359 of file espresso.h.

◆ SYMBOLIC_CONSTRAINTS_type

#define SYMBOLIC_CONSTRAINTS_type   512 /* output the constraints (symbolic) */

Definition at line 344 of file espresso.h.

◆ TAUT

#define TAUT   0x0200

Definition at line 360 of file espresso.h.

◆ TESTP

#define TESTP ( set,
flag )
Value:
(set[0] & (flag))

Definition at line 124 of file espresso.h.

◆ TIME_COUNT

#define TIME_COUNT   16

Definition at line 371 of file espresso.h.

◆ TRUE

#define TRUE   1

Definition at line 256 of file espresso.h.

◆ TWO

#define TWO   3

Definition at line 412 of file espresso.h.

◆ VERIFY_TIME

#define VERIFY_TIME   14

Definition at line 386 of file espresso.h.

◆ VERSION

#define VERSION    "UC Berkeley, Espresso Version #2.3, Release date 01/31/88"

Definition at line 367 of file espresso.h.

367#define VERSION\
368 "UC Berkeley, Espresso Version #2.3, Release date 01/31/88"

◆ WHICH_BIT

#define WHICH_BIT ( element)
Value:
((element) & (BPI-1))

Definition at line 88 of file espresso.h.

◆ WHICH_WORD

#define WHICH_WORD ( element)
Value:
(((element) >> LOGBPI) + 1)

Definition at line 87 of file espresso.h.

◆ WRITE_TIME

#define WRITE_TIME   15

Definition at line 387 of file espresso.h.

◆ ZERO

#define ZERO   1

Definition at line 415 of file espresso.h.

Typedef Documentation

◆ cost_t

typedef struct cost_struct cost_t

◆ pair_t

typedef struct pair_struct pair_t

◆ pcost

typedef struct cost_struct * pcost

◆ ppair

typedef struct pair_struct * ppair

◆ pPLA

typedef struct PLA_t * pPLA

◆ pset

typedef unsigned int* pset

Definition at line 73 of file espresso.h.

◆ pset_family

typedef struct set_family * pset_family

◆ set_family_t

typedef struct set_family set_family_t

◆ symbolic_label_t

◆ symbolic_list_t

◆ symbolic_t

typedef struct symbolic_struct symbolic_t

Function Documentation

◆ all_primes()

pcover all_primes ( )
extern
Here is the caller graph for this function:

◆ ascend()

int ascend ( )
extern
Here is the caller graph for this function:

◆ binate_split_select()

ABC_NAMESPACE_HEADER_END int binate_split_select ( )
extern
Here is the caller graph for this function:

◆ bit_index()

int bit_index ( )
extern
Here is the caller graph for this function:

◆ cactive()

int cactive ( )
extern
Here is the caller graph for this function:

◆ cb1_dsharp()

pcover cb1_dsharp ( )
extern
Here is the caller graph for this function:

◆ cb_consensus()

pcover cb_consensus ( )
extern
Here is the caller graph for this function:

◆ cb_consensus_dist0()

pcover cb_consensus_dist0 ( )
extern
Here is the caller graph for this function:

◆ cb_dsharp()

pcover cb_dsharp ( )
extern
Here is the caller graph for this function:

◆ cb_recur_dsharp()

pcover cb_recur_dsharp ( )
extern

◆ cb_recur_sharp()

pcover cb_recur_sharp ( )
extern
Here is the caller graph for this function:

◆ cb_sharp()

pcover cb_sharp ( )
extern
Here is the caller graph for this function:

◆ ccommon()

bool ccommon ( )
extern
Here is the caller graph for this function:

◆ cdist()

int cdist ( )
extern
Here is the caller graph for this function:

◆ cdist0()

bool cdist0 ( )
extern
Here is the caller graph for this function:

◆ cdist01()

int cdist01 ( )
extern
Here is the caller graph for this function:

◆ check_consistency()

bool check_consistency ( )
extern
Here is the caller graph for this function:

◆ check_equiv()

int check_equiv ( )
extern
Here is the caller graph for this function:

◆ cof_output()

pcover cof_output ( )
extern
Here is the caller graph for this function:

◆ cofactor()

pcube * cofactor ( )
extern
Here is the caller graph for this function:

◆ complement()

pcover complement ( )
extern
Here is the caller graph for this function:

◆ consensus()

void consensus ( )
extern
Here is the caller graph for this function:

◆ copy_cost()

void copy_cost ( )
extern
Here is the caller graph for this function:

◆ cover_cost()

void cover_cost ( )
extern
Here is the caller graph for this function:

◆ cprint()

void cprint ( )
extern
Here is the caller graph for this function:

◆ cube1list()

pcube * cube1list ( )
extern
Here is the caller graph for this function:

◆ cube2list()

pcube * cube2list ( )
extern
Here is the caller graph for this function:

◆ cube3list()

pcube * cube3list ( )
extern
Here is the caller graph for this function:

◆ cube_is_covered()

bool cube_is_covered ( )
extern
Here is the caller graph for this function:

◆ cube_setup()

void cube_setup ( )
extern

Definition at line 27 of file cubestr.c.

28{
29 register int i, var;
30 register pcube p;
31
32 if (cube.num_binary_vars < 0 || cube.num_vars < cube.num_binary_vars)
33 fatal("cube size is silly, error in .i/.o or .mv");
34
35 cube.num_mv_vars = cube.num_vars - cube.num_binary_vars;
36 cube.output = cube.num_mv_vars > 0 ? cube.num_vars - 1 : -1;
37
38 cube.size = 0;
39 cube.first_part = ALLOC(int, cube.num_vars);
40 cube.last_part = ALLOC(int, cube.num_vars);
41 cube.first_word = ALLOC(int, cube.num_vars);
42 cube.last_word = ALLOC(int, cube.num_vars);
43 for(var = 0; var < cube.num_vars; var++) {
44 if (var < cube.num_binary_vars)
45 cube.part_size[var] = 2;
46 cube.first_part[var] = cube.size;
47 cube.first_word[var] = WHICH_WORD(cube.size);
48 cube.size += ABS(cube.part_size[var]);
49 cube.last_part[var] = cube.size - 1;
50 cube.last_word[var] = WHICH_WORD(cube.size - 1);
51 }
52
53 cube.var_mask = ALLOC(pset, cube.num_vars);
54 cube.sparse = ALLOC(int, cube.num_vars);
55 cube.binary_mask = new_cube();
56 cube.mv_mask = new_cube();
57 for(var = 0; var < cube.num_vars; var++) {
58 p = cube.var_mask[var] = new_cube();
59 for(i = cube.first_part[var]; i <= cube.last_part[var]; i++)
60 set_insert(p, i);
61 if (var < cube.num_binary_vars) {
62 INLINEset_or(cube.binary_mask, cube.binary_mask, p);
63 cube.sparse[var] = 0;
64 } else {
65 INLINEset_or(cube.mv_mask, cube.mv_mask, p);
66 cube.sparse[var] = 1;
67 }
68 }
69 if (cube.num_binary_vars == 0)
70 cube.inword = -1;
71 else {
72 cube.inword = cube.last_word[cube.num_binary_vars - 1];
73 cube.inmask = cube.binary_mask[cube.inword] & DISJOINT;
74 }
75
76 cube.temp = ALLOC(pset, CUBE_TEMP);
77 for(i = 0; i < CUBE_TEMP; i++)
78 cube.temp[i] = new_cube();
79 cube.fullset = set_fill(new_cube(), cube.size);
80 cube.emptyset = new_cube();
81
82 cdata.part_zeros = ALLOC(int, cube.size);
83 cdata.var_zeros = ALLOC(int, cube.num_vars);
84 cdata.parts_active = ALLOC(int, cube.num_vars);
85 cdata.is_unate = ALLOC(int, cube.num_vars);
86}
#define new_cube()
Definition espresso.h:262
#define DISJOINT
Definition espresso.h:514
#define INLINEset_or(r, a, b)
Definition espresso.h:205
#define CUBE_TEMP
Definition espresso.h:469
#define set_insert(set, e)
Definition espresso.h:172
void fatal()
unsigned int * pset
Definition espresso.h:73
unsigned short var
Definition giaNewBdd.h:35
#define ABS(a)
Definition util_old.h:250
Here is the call graph for this function:
Here is the caller graph for this function:

◆ cubelist_partition()

int cubelist_partition ( )
extern
Here is the caller graph for this function:

◆ cubeunlist()

pcover cubeunlist ( )
extern
Here is the caller graph for this function:

◆ cv_dsharp()

pcover cv_dsharp ( )
extern
Here is the caller graph for this function:

◆ cv_intersect()

pcover cv_intersect ( )
extern
Here is the caller graph for this function:

◆ cv_sharp()

pcover cv_sharp ( )
extern
Here is the caller graph for this function:

◆ cvolume()

int cvolume ( )
extern

◆ d1_order()

int d1_order ( )
extern
Here is the caller graph for this function:

◆ d1_order_size()

int d1_order_size ( )
extern

◆ d1_rm_equal()

int d1_rm_equal ( )
extern
Here is the caller graph for this function:

◆ d1merge()

pset_family d1merge ( )
extern
Here is the caller graph for this function:

◆ debug1_print()

void debug1_print ( )
extern
Here is the caller graph for this function:

◆ debug_print()

void debug_print ( )
extern
Here is the caller graph for this function:

◆ delvar()

pcover delvar ( )
extern
Here is the caller graph for this function:

◆ desc1()

int desc1 ( )
extern
Here is the caller graph for this function:

◆ descend()

int descend ( )
extern

◆ dist_merge()

pset_family dist_merge ( )
extern
Here is the caller graph for this function:

◆ do_sm_minimum_cover()

pset do_sm_minimum_cover ( )
Here is the caller graph for this function:

◆ dsharp()

pcover dsharp ( )
extern
Here is the caller graph for this function:

◆ elim_lowering()

void elim_lowering ( )
extern
Here is the caller graph for this function:

◆ eqn_output()

void eqn_output ( )
extern
Here is the caller graph for this function:

◆ espresso()

pcover espresso ( )
extern
Here is the caller graph for this function:

◆ essen_cube()

bool essen_cube ( )
extern
Here is the caller graph for this function:

◆ essen_parts()

void essen_parts ( )
extern
Here is the caller graph for this function:

◆ essen_raising()

void essen_raising ( )
extern
Here is the caller graph for this function:

◆ essential()

pcover essential ( )
extern
Here is the caller graph for this function:

◆ exact_minimum_cover()

pset_family exact_minimum_cover ( )
extern
Here is the caller graph for this function:

◆ expand()

pcover expand ( )
extern
Here is the caller graph for this function:

◆ expand1()

void expand1 ( )
extern
Here is the caller graph for this function:

◆ expand1_gasp()

void expand1_gasp ( )
extern
Here is the caller graph for this function:

◆ expand_gasp()

pcover expand_gasp ( )
extern
Here is the caller graph for this function:

◆ explode()

void explode ( )
extern
Here is the caller graph for this function:

◆ fatal()

void fatal ( )
extern
Here is the caller graph for this function:

◆ feasibly_covered()

bool feasibly_covered ( )
extern
Here is the caller graph for this function:

◆ find_all_minimal_covers_petrick()

pcover find_all_minimal_covers_petrick ( )
extern

◆ find_all_primes()

pcover find_all_primes ( )
extern
Here is the caller graph for this function:

◆ find_best_cost()

void find_best_cost ( )
extern
Here is the caller graph for this function:

◆ find_covers()

pset_family find_covers ( )
extern

◆ find_dc_inputs()

void find_dc_inputs ( )
extern

◆ find_equiv_outputs()

void find_equiv_outputs ( )
extern
Here is the caller graph for this function:

◆ find_inputs()

void find_inputs ( )
extern
Here is the caller graph for this function:

◆ find_optimal_pairing()

void find_optimal_pairing ( )
extern
Here is the caller graph for this function:

◆ find_pairing_cost()

int ** find_pairing_cost ( )
extern
Here is the caller graph for this function:

◆ find_phase()

pcube find_phase ( )
extern
Here is the caller graph for this function:

◆ fmt_cost()

char * fmt_cost ( )
extern
Here is the caller graph for this function:

◆ fmt_cube()

char * fmt_cube ( )
extern
Here is the caller graph for this function:

◆ fmt_expanded_cube()

char * fmt_expanded_cube ( )
extern

◆ force_lower()

pset force_lower ( )
extern
Here is the caller graph for this function:

◆ foreach_output_function()

void foreach_output_function ( )
extern
Here is the caller graph for this function:

◆ form_bitvector()

void form_bitvector ( )
extern
Here is the caller graph for this function:

◆ form_cover_table()

pset_family form_cover_table ( )
extern
Here is the caller graph for this function:

◆ fpr_header()

void fpr_header ( )
extern
Here is the caller graph for this function:

◆ fprint_pla()

void fprint_pla ( )
extern
Here is the caller graph for this function:

◆ free_PLA()

void free_PLA ( )
extern
Here is the caller graph for this function:

◆ full_row()

bool full_row ( )
extern
Here is the caller graph for this function:

◆ gen_primes()

pset_family gen_primes ( )
extern

◆ generate_all_pairs()

void generate_all_pairs ( )
extern
Here is the caller graph for this function:

◆ get_word()

char * get_word ( )
extern
Here is the caller graph for this function:

◆ greedy_best_cost()

int greedy_best_cost ( )
extern
Here is the caller graph for this function:

◆ irred_derive_table()

sm_matrix * irred_derive_table ( )
extern
Here is the caller graph for this function:

◆ irred_gasp()

pcover irred_gasp ( )
extern
Here is the caller graph for this function:

◆ irred_split_cover()

void irred_split_cover ( )
extern
Here is the caller graph for this function:

◆ irredundant()

pcover irredundant ( )
extern
Here is the caller graph for this function:

◆ kiss_output()

void kiss_output ( )
extern
Here is the caller graph for this function:

◆ kiss_print_cube()

void kiss_print_cube ( )
extern
Here is the caller graph for this function:

◆ label_index()

int label_index ( )
extern
Here is the caller graph for this function:

◆ last_gasp()

pcover last_gasp ( )
extern
Here is the caller graph for this function:

◆ lex_order()

int lex_order ( )
extern
Here is the caller graph for this function:

◆ lex_order1()

int lex_order1 ( )
extern

◆ lex_sort()

pcover lex_sort ( )
extern
Here is the caller graph for this function:

◆ make_disjoint()

pcover make_disjoint ( )
extern
Here is the caller graph for this function:

◆ make_sparse()

pcover make_sparse ( )
extern
Here is the caller graph for this function:

◆ makeup_labels()

void makeup_labels ( )
extern
Here is the caller graph for this function:

◆ map()

void map ( )
extern
Here is the caller graph for this function:

◆ map_cover_to_unate()

pcover map_cover_to_unate ( )
extern

◆ map_dcset()

void map_dcset ( )
extern
Here is the caller graph for this function:

◆ map_output_symbolic()

void map_output_symbolic ( )
extern
Here is the caller graph for this function:

◆ map_symbolic()

void map_symbolic ( )
extern
Here is the caller graph for this function:

◆ map_symbolic_cover()

pcover map_symbolic_cover ( )
extern
Here is the caller graph for this function:

◆ map_unate_to_cover()

pcover map_unate_to_cover ( )
extern

◆ mark_irredundant()

void mark_irredundant ( )
extern
Here is the caller graph for this function:

◆ massive_count()

void massive_count ( )
extern
Here is the caller graph for this function:

◆ mincov()

void mincov ( )
extern
Here is the caller graph for this function:

◆ mini_sort()

pcover mini_sort ( )
extern
Here is the caller graph for this function:

◆ minimize_exact()

pcover minimize_exact ( )
extern
Here is the caller graph for this function:

◆ minimize_exact_literals()

pcover minimize_exact_literals ( )
extern

◆ minimize_pair()

void minimize_pair ( )
extern
Here is the caller graph for this function:

◆ minterms()

pset minterms ( )
extern
Here is the caller graph for this function:

◆ most_frequent()

int most_frequent ( )
extern
Here is the caller graph for this function:

◆ mv_reduce()

pcover mv_reduce ( )
extern
Here is the caller graph for this function:

◆ new_PLA()

pPLA new_PLA ( )
extern

Definition at line 648 of file cvrin.c.

649{
650 pPLA PLA;
651
652 PLA = ALLOC(PLA_t, 1);
653 PLA->F = PLA->D = PLA->R = (pcover) NULL;
654 PLA->phase = (pcube) NULL;
655 PLA->pair = (ppair) NULL;
656 PLA->label = (char **) NULL;
657 PLA->filename = (char *) NULL;
658 PLA->pla_type = 0;
659 PLA->symbolic = NIL(symbolic_t);
661 return PLA;
662}
#define NIL(type)
Definition avl.h:25
#define pcover
Definition espresso.h:264
struct PLA_t * pPLA
struct pair_struct * ppair
struct symbolic_struct symbolic_t
char ** label
Definition espresso.h:321
pcover D
Definition espresso.h:316
ppair pair
Definition espresso.h:320
pcover R
Definition espresso.h:316
char * filename
Definition espresso.h:317
pcube phase
Definition espresso.h:319
symbolic_t * symbolic_output
Definition espresso.h:323
pcover F
Definition espresso.h:316
int pla_type
Definition espresso.h:318
symbolic_t * symbolic
Definition espresso.h:322
Here is the caller graph for this function:

◆ opo()

pcover opo ( )
extern
Here is the caller graph for this function:

◆ opo_leaf()

pset_family opo_leaf ( )
extern
Here is the caller graph for this function:

◆ opo_recur()

pset_family opo_recur ( )
extern
Here is the caller graph for this function:

◆ opoall()

void opoall ( )
extern
Here is the caller graph for this function:

◆ output_phase_setup()

void output_phase_setup ( )
extern
Here is the caller graph for this function:

◆ output_symbolic_constraints()

void output_symbolic_constraints ( )
extern
Here is the caller graph for this function:

◆ pair_all()

void pair_all ( )
extern
Here is the caller graph for this function:

◆ pair_best_cost()

ppair pair_best_cost ( )
extern
Here is the caller graph for this function:

◆ pair_free()

void pair_free ( )
extern
Here is the caller graph for this function:

◆ pair_new()

ppair pair_new ( )
extern
Here is the caller graph for this function:

◆ pair_save()

ppair pair_save ( )
extern
Here is the caller graph for this function:

◆ pairvar()

pcover pairvar ( )
extern
Here is the caller graph for this function:

◆ parse_pla()

void parse_pla ( )
extern
Here is the caller graph for this function:

◆ pbv1()

char * pbv1 ( )
extern
Here is the caller graph for this function:

◆ pc1()

char * pc1 ( )
extern
Here is the caller graph for this function:

◆ pc2()

char * pc2 ( )
extern
Here is the caller graph for this function:

◆ pc3()

char * pc3 ( )
extern

◆ phase_assignment()

void phase_assignment ( )
extern
Here is the caller graph for this function:

◆ PLA_labels()

void PLA_labels ( )
extern
Here is the caller graph for this function:

◆ PLA_permute()

void PLA_permute ( )
extern
Here is the caller graph for this function:

◆ PLA_summary()

void PLA_summary ( )
extern
Here is the caller graph for this function:

◆ PLA_verify()

bool PLA_verify ( )
extern
Here is the caller graph for this function:

◆ pls_group()

void pls_group ( )
extern
Here is the caller graph for this function:

◆ pls_label()

void pls_label ( )
extern
Here is the caller graph for this function:

◆ pls_output()

void pls_output ( )
extern
Here is the caller graph for this function:

◆ primes_consensus()

pcover primes_consensus ( )
extern
Here is the caller graph for this function:

◆ print_cost()

char * print_cost ( )
extern
Here is the caller graph for this function:

◆ print_cube()

void print_cube ( )
extern
Here is the caller graph for this function:

◆ print_expanded_cube()

void print_expanded_cube ( )
extern
Here is the caller graph for this function:

◆ print_pair()

void print_pair ( )
extern
Here is the caller graph for this function:

◆ print_trace()

void print_trace ( )
extern
Here is the caller graph for this function:

◆ ps1()

char * ps1 ( )
extern
Here is the caller graph for this function:

◆ random_order()

pcover random_order ( )
extern
Here is the caller graph for this function:

◆ read_cube()

void read_cube ( )
extern
Here is the caller graph for this function:

◆ read_pla()

int read_pla ( )
extern
Here is the caller graph for this function:

◆ read_symbolic()

int read_symbolic ( )
extern
Here is the caller graph for this function:

◆ reduce()

pcover reduce ( )
extern
Here is the caller graph for this function:

◆ reduce_cube()

pcube reduce_cube ( )
extern
Here is the caller graph for this function:

◆ repeated_phase_assignment()

void repeated_phase_assignment ( )
extern
Here is the caller graph for this function:

◆ restore_cube_struct()

void restore_cube_struct ( )
extern

Definition at line 151 of file cubestr.c.

152{
153 cube = temp_cube_save; /* structure copy ! */
154 cdata = temp_cdata_save; /* "" */
155}
struct cube_struct cube temp_cube_save
Definition globals.c:67
struct cdata_struct cdata temp_cdata_save
Definition globals.c:68

◆ rm2_contain()

int rm2_contain ( )
extern
Here is the caller graph for this function:

◆ rm2_equal()

int rm2_equal ( )
extern
Here is the caller graph for this function:

◆ rm_contain()

int rm_contain ( )
extern
Here is the caller graph for this function:

◆ rm_equal()

int rm_equal ( )
extern
Here is the caller graph for this function:

◆ rm_rev_contain()

int rm_rev_contain ( )
extern
Here is the caller graph for this function:

◆ save_cube_struct()

void save_cube_struct ( )
extern

Definition at line 134 of file cubestr.c.

135{
136 temp_cube_save = cube; /* structure copy ! */
137 temp_cdata_save = cdata; /* "" */
138
139 cube.first_part = cube.last_part = (int *) NULL;
140 cube.first_word = cube.last_word = (int *) NULL;
141 cube.part_size = (int *) NULL;
142 cube.binary_mask = cube.mv_mask = (pcube) NULL;
143 cube.fullset = cube.emptyset = (pcube) NULL;
144 cube.var_mask = cube.temp = (pcube *) NULL;
145
146 cdata.part_zeros = cdata.var_zeros = cdata.parts_active = (int *) NULL;
147 cdata.is_unate = (bool *) NULL;
148}

◆ sccc()

pcube sccc ( )
extern
Here is the caller graph for this function:

◆ sccc_cube()

pcube sccc_cube ( )
extern
Here is the caller graph for this function:

◆ sccc_merge()

pcube sccc_merge ( )
extern
Here is the caller graph for this function:

◆ sccc_special_cases()

bool sccc_special_cases ( )
extern
Here is the caller graph for this function:

◆ scofactor()

pcube * scofactor ( )
extern
Here is the caller graph for this function:

◆ select_feasible()

void select_feasible ( )
extern
Here is the caller graph for this function:

◆ set_adjcnt()

void set_adjcnt ( )
extern
Here is the caller graph for this function:

◆ set_and()

pset set_and ( )
extern
Here is the caller graph for this function:

◆ set_andp()

bool set_andp ( )
extern
Here is the caller graph for this function:

◆ set_clear()

pset set_clear ( )
extern
Here is the caller graph for this function:

◆ set_copy()

pset set_copy ( )
extern
Here is the caller graph for this function:

◆ set_diff()

pset set_diff ( )
extern
Here is the caller graph for this function:

◆ set_dist()

int set_dist ( )
extern
Here is the caller graph for this function:

◆ set_fill()

pset set_fill ( )
extern
Here is the caller graph for this function:

◆ set_merge()

pset set_merge ( )
extern

◆ set_or()

pset set_or ( )
extern
Here is the caller graph for this function:

◆ set_ord()

int set_ord ( )
extern
Here is the caller graph for this function:

◆ set_orp()

bool set_orp ( )
extern

◆ set_pair()

void set_pair ( )
extern
Here is the caller graph for this function:

◆ set_pair1()

void set_pair1 ( )
extern
Here is the caller graph for this function:

◆ set_phase()

pPLA set_phase ( )
extern
Here is the caller graph for this function:

◆ set_write()

void set_write ( )
extern
Here is the caller graph for this function:

◆ set_xor()

pset set_xor ( )
extern
Here is the caller graph for this function:

◆ setdown_cube()

void setdown_cube ( )
extern

Definition at line 95 of file cubestr.c.

96{
97 register int i, var;
98
99 FREE(cube.first_part);
100 FREE(cube.last_part);
101 FREE(cube.first_word);
102 FREE(cube.last_word);
103 FREE(cube.sparse);
104
105 free_cube(cube.binary_mask);
106 free_cube(cube.mv_mask);
107 free_cube(cube.fullset);
108 free_cube(cube.emptyset);
109 for(var = 0; var < cube.num_vars; var++)
110 free_cube(cube.var_mask[var]);
111 FREE(cube.var_mask);
112
113 for(i = 0; i < CUBE_TEMP; i++)
114 free_cube(cube.temp[i]);
115 FREE(cube.temp);
116
117 FREE(cdata.part_zeros);
118 FREE(cdata.var_zeros);
119 FREE(cdata.parts_active);
120 FREE(cdata.is_unate);
121
122 cube.first_part = cube.last_part = (int *) NULL;
123 cube.first_word = cube.last_word = (int *) NULL;
124 cube.sparse = (int *) NULL;
125 cube.binary_mask = cube.mv_mask = (pcube) NULL;
126 cube.fullset = cube.emptyset = (pcube) NULL;
127 cube.var_mask = cube.temp = (pcube *) NULL;
128
129 cdata.part_zeros = cdata.var_zeros = cdata.parts_active = (int *) NULL;
130 cdata.is_unate = (bool *) NULL;
131}
#define free_cube(r)
Definition espresso.h:263
Here is the caller graph for this function:

◆ setp_disjoint()

bool setp_disjoint ( )
extern
Here is the caller graph for this function:

◆ setp_empty()

bool setp_empty ( )
extern
Here is the caller graph for this function:

◆ setp_equal()

bool setp_equal ( )
extern
Here is the caller graph for this function:

◆ setp_full()

bool setp_full ( )
extern

◆ setp_implies()

bool setp_implies ( )
extern
Here is the caller graph for this function:

◆ setup_BB_CC()

void setup_BB_CC ( )
extern
Here is the caller graph for this function:

◆ sf_active()

pset_family sf_active ( )
extern
Here is the caller graph for this function:

◆ sf_addcol()

pset_family sf_addcol ( )
extern
Here is the caller graph for this function:

◆ sf_addset()

pset_family sf_addset ( )
extern
Here is the caller graph for this function:

◆ sf_and()

pset sf_and ( )
extern

◆ sf_append()

pset_family sf_append ( )
extern
Here is the caller graph for this function:

◆ sf_bm_print()

void sf_bm_print ( )
extern

◆ sf_bm_read()

pset_family sf_bm_read ( )
extern

◆ sf_cleanup()

void sf_cleanup ( )
extern

Definition at line 374 of file set.c.

375{
376 register pset_family p, pnext;
377 for(p = set_family_garbage; p != (pset_family) NULL; p = pnext) {
378 pnext = p->next;
379 FREE(p);
380 }
381 set_family_garbage = (pset_family) NULL;
382}
struct set_family * pset_family
Here is the caller graph for this function:

◆ sf_compress()

pset_family sf_compress ( )
extern
Here is the caller graph for this function:

◆ sf_contain()

pset_family sf_contain ( )
extern
Here is the caller graph for this function:

◆ sf_copy()

pset_family sf_copy ( )
extern
Here is the caller graph for this function:

◆ sf_copy_col()

pset_family sf_copy_col ( )
extern
Here is the caller graph for this function:

◆ sf_count()

int * sf_count ( )
extern
Here is the caller graph for this function:

◆ sf_count_restricted()

int * sf_count_restricted ( )
extern

◆ sf_debug_print()

void sf_debug_print ( )
extern

◆ sf_delc()

pset_family sf_delc ( )
extern
Here is the caller graph for this function:

◆ sf_delcol()

pset_family sf_delcol ( )
extern
Here is the caller graph for this function:

◆ sf_delset()

void sf_delset ( )
extern
Here is the caller graph for this function:

◆ sf_dupl()

pset_family sf_dupl ( )
extern
Here is the caller graph for this function:

◆ sf_free()

void sf_free ( )
extern
Here is the caller graph for this function:

◆ sf_inactive()

pset_family sf_inactive ( )
extern
Here is the caller graph for this function:

◆ sf_ind_contain()

pset_family sf_ind_contain ( )
extern

◆ sf_ind_unlist()

pset_family sf_ind_unlist ( )
extern
Here is the caller graph for this function:

◆ sf_join()

pset_family sf_join ( )
extern
Here is the caller graph for this function:

◆ sf_list()

pset * sf_list ( )
extern
Here is the caller graph for this function:

◆ sf_merge()

pset_family sf_merge ( )
extern
Here is the caller graph for this function:

◆ sf_new()

pset_family sf_new ( )
extern
Here is the caller graph for this function:

◆ sf_or()

pset sf_or ( )
extern

◆ sf_permute()

pset_family sf_permute ( )
extern
Here is the caller graph for this function:

◆ sf_print()

void sf_print ( )
extern
Here is the caller graph for this function:

◆ sf_read()

pset_family sf_read ( )
extern

◆ sf_rev_contain()

pset_family sf_rev_contain ( )
extern
Here is the caller graph for this function:

◆ sf_save()

pset_family sf_save ( )
extern
Here is the caller graph for this function:

◆ sf_sort()

pset * sf_sort ( )
extern
Here is the caller graph for this function:

◆ sf_transpose()

pset_family sf_transpose ( )
extern

◆ sf_union()

pset_family sf_union ( )
extern
Here is the caller graph for this function:

◆ sf_unlist()

pset_family sf_unlist ( )
extern
Here is the caller graph for this function:

◆ sf_write()

void sf_write ( )
extern

◆ sharp()

pcover sharp ( )
extern
Here is the caller graph for this function:

◆ simp_comp()

void simp_comp ( )
extern
Here is the caller graph for this function:

◆ simplify()

pcover simplify ( )
extern
Here is the caller graph for this function:

◆ size_sort()

pcover size_sort ( )
extern

◆ size_stamp()

void size_stamp ( )
extern
Here is the caller graph for this function:

◆ skip_line()

void skip_line ( )
extern
Here is the caller graph for this function:

◆ so_both_do_espresso()

int so_both_do_espresso ( )
extern

◆ so_both_do_exact()

int so_both_do_exact ( )
extern

◆ so_both_espresso()

void so_both_espresso ( )
extern
Here is the caller graph for this function:

◆ so_both_save()

int so_both_save ( )
extern

◆ so_do_espresso()

int so_do_espresso ( )
extern

◆ so_do_exact()

int so_do_exact ( )
extern

◆ so_espresso()

void so_espresso ( )
extern
Here is the caller graph for this function:

◆ so_save()

int so_save ( )
extern

◆ sort_reduce()

pcover sort_reduce ( )
extern
Here is the caller graph for this function:

◆ strsav()

char * strsav ( )
extern

◆ super_gasp()

pcover super_gasp ( )
extern
Here is the caller graph for this function:

◆ symbolic_hack_labels()

void symbolic_hack_labels ( )
extern
Here is the caller graph for this function:

◆ taut_special_cases()

bool taut_special_cases ( )
extern
Here is the caller graph for this function:

◆ tautology()

bool tautology ( )
extern
Here is the caller graph for this function:

◆ totals()

void totals ( )
extern
Here is the caller graph for this function:

◆ unate_compl()

pset_family unate_compl ( )
extern

◆ unate_complement()

pset_family unate_complement ( )
extern
Here is the caller graph for this function:

◆ unate_intersect()

pset_family unate_intersect ( )
extern
Here is the caller graph for this function:

◆ uncof_output()

pcover uncof_output ( )
extern
Here is the caller graph for this function:

◆ unravel()

pcover unravel ( )
extern
Here is the caller graph for this function:

◆ unravel_range()

pcover unravel_range ( )
extern
Here is the caller graph for this function:

◆ util_getopt()

int util_getopt ( )
extern
Here is the caller graph for this function:

◆ verify()

bool verify ( )
extern
Here is the caller graph for this function:

Variable Documentation

◆ bit_count

int bit_count[256]
extern

Definition at line 70 of file globals.c.

70 {
71 0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,
72 1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,
73 1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,
74 2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,
75 1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,
76 2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,
77 2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,
78 3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,4,5,5,6,5,6,6,7,5,6,6,7,6,7,7,8
79};

◆ debug

unsigned int debug
extern

Definition at line 19 of file globals.c.

◆ debug_exact_minimization

bool debug_exact_minimization
extern

◆ echo_comments

bool echo_comments
extern

Definition at line 25 of file globals.c.

◆ echo_unknown_commands

bool echo_unknown_commands
extern

Definition at line 26 of file globals.c.

◆ filename

char* filename
extern

Definition at line 40 of file globals.c.

◆ force_irredundant

bool force_irredundant
extern

Definition at line 27 of file globals.c.

◆ kiss

bool kiss
extern

Definition at line 29 of file globals.c.

◆ pla_types

struct pla_types_struct pla_types[]
extern

Definition at line 42 of file globals.c.

42 {
43 {"-f", F_type},
44 {"-r", R_type},
45 {"-d", D_type},
46 {"-fd", FD_type},
47 {"-fr", FR_type},
48 {"-dr", DR_type},
49 {"-fdr", FDR_type},
50 {"-fc", F_type | CONSTRAINTS_type},
51 {"-rc", R_type | CONSTRAINTS_type},
52 {"-dc", D_type | CONSTRAINTS_type},
53 {"-fdc", FD_type | CONSTRAINTS_type},
54 {"-frc", FR_type | CONSTRAINTS_type},
55 {"-drc", DR_type | CONSTRAINTS_type},
56 {"-fdrc", FDR_type | CONSTRAINTS_type},
57 {"-pleasure", PLEASURE_type},
58 {"-eqn", EQNTOTT_type},
59 {"-eqntott", EQNTOTT_type},
60 {"-kiss", KISS_type},
61 {"-cons", CONSTRAINTS_type},
62 {"-scons", SYMBOLIC_CONSTRAINTS_type},
63 {0, 0}
64};
#define EQNTOTT_type
Definition espresso.h:341
#define PLEASURE_type
Definition espresso.h:340
#define FDR_type
Definition espresso.h:348
#define KISS_type
Definition espresso.h:342
#define F_type
Definition espresso.h:337
#define SYMBOLIC_CONSTRAINTS_type
Definition espresso.h:344
#define CONSTRAINTS_type
Definition espresso.h:343
#define R_type
Definition espresso.h:339
#define D_type
Definition espresso.h:338
#define FD_type
Definition espresso.h:345
#define DR_type
Definition espresso.h:347
#define FR_type
Definition espresso.h:346

◆ pos

bool pos
extern

Definition at line 30 of file globals.c.

◆ print_solution

bool print_solution
extern

Definition at line 31 of file globals.c.

◆ recompute_onset

bool recompute_onset
extern

Definition at line 32 of file globals.c.

◆ remove_essential

bool remove_essential
extern

Definition at line 33 of file globals.c.

◆ single_expand

bool single_expand
extern

Definition at line 34 of file globals.c.

◆ skip_make_sparse

bool skip_make_sparse
extern

Definition at line 28 of file globals.c.

◆ summary

bool summary
extern

Definition at line 35 of file globals.c.

◆ temp_cdata_save

struct cdata_struct cdata temp_cdata_save
extern

Definition at line 68 of file globals.c.

◆ temp_cube_save

struct cube_struct cube temp_cube_save
extern

Definition at line 67 of file globals.c.

◆ total_calls

int total_calls[TIME_COUNT]
extern

Definition at line 23 of file globals.c.

◆ total_name

char* total_name[TIME_COUNT]
extern

Definition at line 21 of file globals.c.

◆ total_time

long total_time[TIME_COUNT]
extern

Definition at line 22 of file globals.c.

◆ trace

bool trace
extern

Definition at line 36 of file globals.c.

◆ unwrap_onset

bool unwrap_onset
extern

Definition at line 37 of file globals.c.

◆ use_random_order

bool use_random_order
extern

Definition at line 38 of file globals.c.

◆ use_super_gasp

bool use_super_gasp
extern

Definition at line 39 of file globals.c.

◆ verbose_debug

bool verbose_debug
extern

Definition at line 20 of file globals.c.