ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
weaken.c File Reference
#include "weaken.h"
#include "inline.h"
Include dependency graph for weaken.c:

Go to the source code of this file.

Macros

#define LOGPUSHED(SIZE)
 

Functions

void kissat_weaken_clause (kissat *solver, unsigned lit, clause *c)
 
void kissat_weaken_binary (kissat *solver, unsigned lit, unsigned other)
 
void kissat_weaken_unit (kissat *solver, unsigned lit)
 

Macro Definition Documentation

◆ LOGPUSHED

#define LOGPUSHED ( SIZE)
Value:
do { \
LOGEXT ((SIZE), END_STACK (solver->extend) - (SIZE), \
"pushed size %zu witness labelled clause at", \
(size_t) (SIZE)); \
} while (0)
#define END_STACK(S)
Definition stack.h:48
#define SIZE(set)
Definition espresso.h:112
#define solver
Definition kitten.c:211

Definition at line 31 of file weaken.c.

31#define LOGPUSHED(SIZE) \
32 do { \
33 LOGEXT ((SIZE), END_STACK (solver->extend) - (SIZE), \
34 "pushed size %zu witness labelled clause at", \
35 (size_t) (SIZE)); \
36 } while (0)

Function Documentation

◆ kissat_weaken_binary()

void kissat_weaken_binary ( kissat * solver,
unsigned lit,
unsigned other )

Definition at line 48 of file weaken.c.

48 {
49 INC (weakened);
50 LOGBINARY (lit, other, "blocking on %s and weakening", LOGLIT (lit));
51 push_witness_literal (solver, lit);
52 push_clause_literal (solver, other);
53 LOGPUSHED (2);
54}
#define INC(NAME)
#define LOGBINARY(...)
Definition logging.h:442
#define LOGLIT(...)
Definition logging.hpp:99
int lit
Definition satVec.h:130
#define LOGPUSHED(SIZE)
Definition weaken.c:31

◆ kissat_weaken_clause()

void kissat_weaken_clause ( kissat * solver,
unsigned lit,
clause * c )

Definition at line 38 of file weaken.c.

38 {
39 INC (weakened);
40 LOGCLS (c, "blocking on %s and weakening", LOGLIT (lit));
41 push_witness_literal (solver, lit);
42 for (all_literals_in_clause (other, c))
43 if (lit != other)
44 push_clause_literal (solver, other);
45 LOGPUSHED (c->size);
46}
#define all_literals_in_clause(LIT, C)
Definition clause.h:47
#define LOGCLS(...)
Definition logging.h:415
unsigned size
Definition clause.h:37

◆ kissat_weaken_unit()

void kissat_weaken_unit ( kissat * solver,
unsigned lit )

Definition at line 56 of file weaken.c.

56 {
57 INC (weakened);
58 LOG ("blocking and weakening unit %s", LOGLIT (lit));
59 push_witness_literal (solver, lit);
60 LOGEXT (1, END_STACK (solver->extend) - 1,
61 "pushed witness labelled unit clause at");
62}
#define LOG(...)
#define LOGEXT(...)
Definition logging.h:388