Painless
A framework to ease parallelization of sequential CDCL SAT solvers
Loading...
Searching...
No Matches
Parsers::RedundancyFilter Class Reference

Filter for removing redundant clauses. More...

#include <Parsers.hpp>

Inheritance diagram for Parsers::RedundancyFilter:
Collaboration diagram for Parsers::RedundancyFilter:

Public Member Functions

bool initMembers (unsigned int varCount, unsigned int clauseCount) override
 Initialize the redundancy filter.
 
bool operator() (simpleClause &clause) override
 Check if a clause is redundant.
 
- Public Member Functions inherited from Parsers::ClauseProcessor

Detailed Description

Filter for removing redundant clauses.

RedundancyFilter checks for and removes duplicate clauses during parsing.

Member Function Documentation

◆ initMembers()

bool Parsers::RedundancyFilter::initMembers ( unsigned int varCount,
unsigned int clauseCount )
overridevirtual

Initialize the redundancy filter.

Parameters
varCountThe number of variables in the problem.
clauseCountThe number of clauses in the problem.
Returns
Always returns true.

Implements Parsers::ClauseProcessor.

◆ operator()()

bool Parsers::RedundancyFilter::operator() ( simpleClause & clause)
overridevirtual

Check if a clause is redundant.

This method sorts the clause, removes duplicates, and checks if it's already in the clauseCache. If it's new, it's added to the cache.

Parameters
clauseThe clause to check.
Returns
true if the clause is not redundant, false if it is.

Implements Parsers::ClauseProcessor.


The documentation for this class was generated from the following file: