ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
reorder.h File Reference
#include <stdbool.h>
#include "global.h"
Include dependency graph for reorder.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

bool kissat_reordering (struct kissat *)
 
void kissat_reorder (struct kissat *)
 

Function Documentation

◆ kissat_reorder()

void kissat_reorder ( struct 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()

bool kissat_reordering ( struct 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: