ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
reorder.c File Reference
#include "reorder.h"
#include "backtrack.h"
#include "bump.h"
#include "inline.h"
#include "inlineheap.h"
#include "inlinequeue.h"
#include "inlinevector.h"
#include "internal.h"
#include "logging.h"
#include "print.h"
#include "report.h"
#include "sort.h"
Include dependency graph for reorder.c:

Go to the source code of this file.

Macros

#define LESS_FOCUSED_ORDER(A, B)
 
#define LESS_STABLE_ORDER(A, B)
 

Functions

ABC_NAMESPACE_IMPL_START bool kissat_reordering (kissat *solver)
 
void kissat_reorder (kissat *solver)
 

Macro Definition Documentation

◆ LESS_FOCUSED_ORDER

#define LESS_FOCUSED_ORDER ( A,
B )
Value:
less_focused_order (A, B, links, weights)

Definition at line 137 of file reorder.c.

◆ LESS_STABLE_ORDER

#define LESS_STABLE_ORDER ( A,
B )
Value:
less_stable_order (A, B, scores, weights)

Definition at line 139 of file reorder.c.

Function Documentation

◆ kissat_reorder()

void kissat_reorder ( kissat * solver)

Definition at line 205 of file reorder.c.

205 {
206 START (reorder);
207 INC (reordered);
208 KISSAT_assert (!solver->level);
209 kissat_phase (solver, "reorder", GET (reordered),
210 "reorder limit %" PRIu64 " hit a after %" PRIu64
211 " conflicts in %s mode ",
212 solver->limits.reorder.conflicts, CONFLICTS,
213 solver->stable ? "stable" : "focused");
214 if (solver->stable)
215 reorder_stable (solver);
216 else
217 reorder_focused (solver);
218 kissat_phase (solver, "reorder", GET (reordered),
219 "reordered decisions in %s search mode",
220 solver->stable ? "stable" : "focused");
221 UPDATE_CONFLICT_LIMIT (reorder, reordered, LINEAR, false);
222 REPORT (0, 'o');
223 STOP (reorder);
224}
#define INC(NAME)
#define LINEAR(COUNT)
Definition kimits.h:108
#define UPDATE_CONFLICT_LIMIT(NAME, COUNT, SCALE_COUNT_FUNCTION, SCALE_DELTA)
Definition kimits.h:115
#define KISSAT_assert(ignore)
Definition global.h:13
#define solver
Definition kitten.c:211
#define kissat_phase(...)
Definition print.h:48
#define STOP(P)
Definition profile.hpp:158
#define START(P)
Definition profile.hpp:150
#define REPORT(...)
Definition report.h:10
#define CONFLICTS
Definition statistics.h:335
#define GET(NAME)
Definition statistics.h:416
Here is the caller graph for this function:

◆ kissat_reordering()

ABC_NAMESPACE_IMPL_START bool kissat_reordering ( kissat * solver)

Definition at line 16 of file reorder.c.

16 {
17 if (!GET_OPTION (reorder))
18 return false;
19 if (!solver->stable && GET_OPTION (reorder) < 2)
20 return false;
21 if (solver->level)
22 return false;
23 return CONFLICTS >= solver->limits.reorder.conflicts;
24}
#define GET_OPTION(N)
Definition options.h:295
Here is the caller graph for this function: