ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
warmup.c
Go to the documentation of this file.
1#include "warmup.h"
2#include "backtrack.h"
3#include "decide.h"
4#include "internal.h"
5#include "print.h"
6#include "propbeyond.h"
7#include "terminate.h"
8
10
12 KISSAT_assert (!solver->level);
13 KISSAT_assert (solver->watching);
14 KISSAT_assert (!solver->inconsistent);
15 KISSAT_assert (GET_OPTION (warmup));
16 START (warmup);
17 KISSAT_assert (!solver->warming);
18 solver->warming = true;
19 INC (warmups);
20#ifndef KISSAT_QUIET
21 const statistics *stats = &solver->statistics;
22 uint64_t propagations = stats->warming_propagations;
23 uint64_t decisions = stats->warming_decisions;
24#endif
25 while (solver->unassigned) {
27 break;
30 }
31 KISSAT_assert (!solver->inconsistent);
32#ifndef KISSAT_QUIET
33 decisions = stats->warming_decisions - decisions;
34 propagations = stats->warming_propagations - propagations;
35
37 "warming-up needed %" PRIu64
38 " decisions and %" PRIu64 " propagations",
39 decisions, propagations);
40
41 if (solver->unassigned)
43 "reached decision level %u "
44 "during warming-up saved phases",
45 solver->level);
46 else
48 "all variables assigned at decision level %u "
49 "during warming-up saved phases",
50 solver->level);
51#endif
53 KISSAT_assert (solver->warming);
54 solver->warming = false;
55 STOP (warmup);
56}
57
#define ABC_NAMESPACE_IMPL_START
#define ABC_NAMESPACE_IMPL_END
void kissat_backtrack_without_updating_phases(kissat *solver, unsigned new_level)
Definition backtrack.c:74
#define INC(NAME)
void kissat_decide(kissat *solver)
Definition decide.c:211
#define KISSAT_assert(ignore)
Definition global.h:13
#define solver
Definition kitten.c:211
#define GET_OPTION(N)
Definition options.h:295
#define kissat_verbose(...)
Definition print.h:51
#define kissat_very_verbose(...)
Definition print.h:52
#define STOP(P)
Definition profile.hpp:158
#define START(P)
Definition profile.hpp:150
void kissat_propagate_beyond_conflicts(kissat *solver)
Definition propbeyond.c:36
#define TERMINATED(BIT)
Definition terminate.h:42
#define warmup_terminated_1
Definition terminate.h:87
ABC_NAMESPACE_IMPL_START void kissat_warmup(kissat *solver)
Definition warmup.c:11