ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
act_clause.h
Go to the documentation of this file.
1//===--- act_var.h ----------------------------------------------------------===
2//
3// satoko: Satisfiability solver
4//
5// This file is distributed under the BSD 2-Clause License.
6// See LICENSE for details.
7//
8//===------------------------------------------------------------------------===
9#ifndef satoko__act_clause_h
10#define satoko__act_clause_h
11
12#include "solver.h"
13#include "types.h"
14
17
18static inline void clause_act_rescale(solver_t *s)
19{
20 unsigned i, cref;
21 struct clause *clause;
22
23 vec_uint_foreach(s->learnts, cref, i) {
24 clause = clause_fetch(s, cref);
25 clause->data[clause->size].act >>= 10;
26 }
27 s->clause_act_inc = stk_uint_max((s->clause_act_inc >> 10), (1 << 11));
28}
29
30static inline void clause_act_bump(solver_t *s, struct clause *clause)
31{
33 if (clause->data[clause->size].act & 0x80000000)
34 clause_act_rescale(s);
35}
36
37static inline void clause_act_decay(solver_t *s)
38{
39 s->clause_act_inc += (s->clause_act_inc >> 10);
40}
41
43#endif /* satoko__act_clause_h */
#define ABC_NAMESPACE_HEADER_END
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
struct solver_t_ solver_t
Definition solver.h:37
union clause::@075032140136325172206014200035176200302203305006 data[0]
clause_act_t act
Definition clause.h:26
unsigned size
Definition clause.h:37
vec_uint_t * learnts
Definition solver.h:46
clause_act_t clause_act_inc
Definition solver.h:52
#define vec_uint_foreach(vec, entry, i)
Definition vec_uint.h:31