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

Go to the source code of this file.

Functions

bool kissat_walking (struct kissat *)
 
void kissat_walk (struct kissat *)
 

Function Documentation

◆ kissat_walk()

void kissat_walk ( struct kissat * solver)

Definition at line 938 of file walk.c.

938 {
939 KISSAT_assert (!solver->level);
940 KISSAT_assert (!solver->inconsistent);
941 KISSAT_assert (kissat_propagated (solver));
943
944 reference last_irredundant = solver->last_irredundant;
945 if (last_irredundant == INVALID_REF)
946 last_irredundant = SIZE_STACK (solver->arena);
947
948 if (last_irredundant > MAX_WALK_REF) {
949 kissat_phase (solver, "walk", GET (walks),
950 "last irredundant clause reference %u too large",
951 last_irredundant);
952 return;
953 }
954
955 uint64_t clauses = BINIRR_CLAUSES;
956 if (clauses > MAX_WALK_REF) {
957 kissat_phase (solver, "walk", GET (walks),
958 "way too many irredundant clauses %" PRIu64, clauses);
959 return;
960 }
961
962 if (GET_OPTION (warmup))
964
966 walking_phase (solver);
968}
#define SIZE_STACK(S)
Definition stack.h:19
#define KISSAT_assert(ignore)
Definition global.h:13
#define solver
Definition kitten.c:211
#define GET_OPTION(N)
Definition options.h:295
#define kissat_phase(...)
Definition print.h:48
#define STOP_SEARCH_AND_START_SIMPLIFIER(...)
Definition profile.h:133
#define STOP_SIMPLIFIER_AND_RESUME_SEARCH(...)
Definition profile.h:136
#define INVALID_REF
Definition reference.h:16
ABC_NAMESPACE_HEADER_START typedef unsigned reference
Definition reference.h:9
#define GET(NAME)
Definition statistics.h:416
#define BINIRR_CLAUSES
Definition statistics.h:341
#define MAX_WALK_REF
Definition walk.c:22
bool kissat_walking(kissat *solver)
Definition walk.c:913
ABC_NAMESPACE_IMPL_START void kissat_warmup(kissat *solver)
Definition warmup.c:11
Here is the call graph for this function:

◆ kissat_walking()

bool kissat_walking ( struct kissat * solver)

Definition at line 913 of file walk.c.

913 {
914 reference last_irredundant = solver->last_irredundant;
915 if (last_irredundant == INVALID_REF)
916 last_irredundant = SIZE_STACK (solver->arena);
917
918 if (last_irredundant > MAX_WALK_REF) {
920 "can not walk since last "
921 "irredundant clause reference %u too large",
922 last_irredundant);
923 return false;
924 }
925
926 uint64_t clauses = BINIRR_CLAUSES;
927 if (clauses > MAX_WALK_REF) {
929 "can not walk due to "
930 "way too many irredundant clauses %" PRIu64,
931 clauses);
932 return false;
933 }
934
935 return true;
936}
#define kissat_extremely_verbose(...)
Definition print.h:53
Here is the caller graph for this function: