ACEC/hCaD_V2/src/level.hpp
2022-10-21 19:34:18 +08:00

31 lines
744 B
C++

#ifndef _level_hpp_INCLUDED
#define _level_hpp_INCLUDED
#include <climits>
namespace CaDiCaL {
// For each new decision we increase the decision level and push a 'Level'
// on the 'control' stack. The information gathered here is used in
// 'reuse_trail' and for early aborts in clause minimization.
struct Level {
int decision; // decision literal of this level
int trail; // trail start of this level
struct {
int count; // how many variables seen during 'analyze'
int trail; // smallest trail position seen on this level
} seen;
void reset () { seen.count = 0; seen.trail = INT_MAX; }
Level (int d, int t) : decision (d), trail (t) { reset (); }
Level () { }
};
}
#endif