#include <SolverTypes.h>
Definition at line 125 of file SolverTypes.h.
◆ abstraction()
| uint32_t Minisat::Clause::abstraction |
( |
| ) |
const |
|
inline |
◆ activity()
| float & Minisat::Clause::activity |
( |
| ) |
|
|
inline |
◆ calcAbstraction()
| void Minisat::Clause::calcAbstraction |
( |
| ) |
|
|
inline |
Definition at line 156 of file SolverTypes.h.
156 {
159 for (
int i = 0; i <
size(); i++)
uint32_t abstraction() const
◆ has_extra()
| bool Minisat::Clause::has_extra |
( |
| ) |
const |
|
inline |
◆ last()
| const Lit & Minisat::Clause::last |
( |
| ) |
const |
|
inline |
Definition at line 171 of file SolverTypes.h.
171{ return data[header.size-1].lit; }
◆ learnt()
| bool Minisat::Clause::learnt |
( |
| ) |
const |
|
inline |
◆ mark() [1/2]
| uint32_t Minisat::Clause::mark |
( |
| ) |
const |
|
inline |
◆ mark() [2/2]
| void Minisat::Clause::mark |
( |
uint32_t | m | ) |
|
|
inline |
◆ operator const Lit *()
| Minisat::Clause::operator const Lit * |
( |
void | | ) |
const |
|
inline |
◆ operator[]() [1/2]
| Lit & Minisat::Clause::operator[] |
( |
int | i | ) |
|
|
inline |
◆ operator[]() [2/2]
| Lit Minisat::Clause::operator[] |
( |
int | i | ) |
const |
|
inline |
◆ pop()
| void Minisat::Clause::pop |
( |
| ) |
|
|
inline |
◆ relocate()
| void Minisat::Clause::relocate |
( |
CRef | c | ) |
|
|
inline |
Definition at line 175 of file SolverTypes.h.
175{ header.reloced = 1; data[0].rel = c; }
◆ relocation()
| CRef Minisat::Clause::relocation |
( |
| ) |
const |
|
inline |
◆ reloced()
| bool Minisat::Clause::reloced |
( |
| ) |
const |
|
inline |
◆ shrink()
| void Minisat::Clause::shrink |
( |
int | i | ) |
|
|
inline |
Definition at line 165 of file SolverTypes.h.
165{
assert(i <=
size());
if (header.has_extra) data[header.size-i] = data[header.size]; header.size -= i; }
◆ size()
| int Minisat::Clause::size |
( |
| ) |
const |
|
inline |
◆ strengthen()
| void Minisat::Clause::strengthen |
( |
Lit | p | ) |
|
|
inline |
◆ subsumes()
Definition at line 369 of file SolverTypes.h.
370{
371
372
374 assert(header.has_extra);
assert(other.header.has_extra);
375 if (other.header.size < header.size || (data[header.size].abs & ~other.data[other.header.size].abs) != 0)
377
379 const Lit* c = (const Lit*)(*this);
380 const Lit* d = (const Lit*)other;
381
382 for (unsigned i = 0; i < header.size; i++) {
383
384 for (unsigned j = 0; j < other.header.size; j++)
385 if (c[i] == d[j])
386 goto ok;
387 else if (ret ==
lit_Undef && c[i] == ~d[j]){
388 ret = c[i];
389 goto ok;
390 }
391
392
394 ok:;
395 }
396
397 return ret;
398}
◆ ClauseAllocator
◆ abs
◆ act
| float Minisat::Clause::act |
◆ has_extra
| unsigned Minisat::Clause::has_extra |
◆ learnt
| unsigned Minisat::Clause::learnt |
◆ lit
◆ mark
| unsigned Minisat::Clause::mark |
◆ rel
| CRef Minisat::Clause::rel |
◆ reloced
| unsigned Minisat::Clause::reloced |
◆ size
| unsigned Minisat::Clause::size |
The documentation for this class was generated from the following file: