Painless
A framework to ease parallelization of sequential CDCL SAT solvers
Loading...
Searching...
No Matches
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 123]
 NClauseUtilsHelping Functions for Clause Management (Hash and Equality)
 CClauseExchangeEqualEquality functor for ClauseExchange objects
 CClauseExchangeHashHash functor for ClauseExchange objects
 CClauseExchangePtrEqualEquality functor for ClauseExchangePtr objects
 CClauseExchangePtrHashHash functor for ClauseExchangePtr objects
 CClauseHashHash functor for simple clauses
 NGlucose
 Cvec
 NMapleCOMSPS
 Cvec
 NMinisat
 Cvec
 Npainless
 Cskipzero_spanA span-like container that skips zero elements when iterating
 CIterator
 Cvector2DA 2D vector implementation optimized for sparse data
 NParsersA set of helper functions for CNF file parsing
 CClauseProcessorAbstract base class for clause processors
 CRedundancyFilterFilter for removing redundant clauses
 CSBVAInitA filter for Structured BVA (Binary Variable Addition)
 CTautologyFilterFilter for removing tautological clauses. A tautological clause or simple a tautology is a clause that contains a literal and its complement, thus always satisfied
 CAllGatherSharingImplements a global sharing strategy using MPI_Allgather for clause exchange
 CBitsetA class representing a bitset with dynamic size
 CBloomFilter
 CCadicalImplements the different interfaces to interact with the Cadical CDCL solver
 CClauseBufferWrapper for boost::lockfree::queue to manage ClauseExchange objects
 CClauseDatabaseAbstract base class defining the interface for clause storage and management
 CClauseDatabaseBufferPerEntityA clause database that maintain separate buffers for each entity, mimicing old painless default behavior
 CClauseDatabaseMallobA clause database implementation attempting to naively mimic the Simplified Adaptive Database from Mallob (ref:https://doi.org/10.1613/jair.1.15827)
 CClauseDatabasePerSizeA clause database that organizes clauses based on their size
 CClauseDatabaseSingleBufferThis is just a ClauseDatabase wrapper around a ClauseBuufer
 CClauseExchangeRepresents an exchangeable clause with flexible array member
 CClauseMeta
 CDataType
 CfnvStruct for Fowler-Noll-Vo parameters
 Cfnv< T, typename std::enable_if< sizeof(T)==4 >::type >Fowler-Noll-Vo hash parameters for 32 bits
 Cfnv< T, typename std::enable_if< sizeof(T)==8 >::type >Fowler-Noll-Vo hash parameters for 64 bits
 CFormulaRepresents a SAT formula with unit and non-unit clauses
 CGenericGlobalSharingImplements a generic global sharing strategy for clause exchange
 CGlobalSharingStatisticsStatistics of a global sharing strategy
 CGlobalSharingStrategyBase class for global clause sharing strategies across MPI processes
 CGlucoseSyrupInstance of a Glucose solver
 CHashMap
 CHashNode
 CHordeSatSharingThis strategy is a HordeSat-like sharing strategy
 CKissatInstance of a Kissat solver
 CKissatINCSolverInstance of a KissatINCSolver solver
 CKissatMABSolverInstance of a KissatMABSolver solver
 CLingelingInstance of a Lingeling solver
 CLocalSearchInterfaceInterface for Local Search solvers
 CLocalSearchStatsLocal search statistics
 CMallobSharingImplements a global sharing strategy based on the Mallob algorithm
 CMapleCOMSPSSolverInstance of a MapleCOMSPS solver
 CMiniSatInstance of a Minisat solver
 CMutexMutex class
 CPairCompareFunctor for the priority queue used in solve()
 Cparameter
 CParameters
 CPortfolioPRSAn Implementation of WorkingStrategy that mimics the strategy used in the PRS-Distributed solver from ISC24
 CPortfolioSimpleA Simple Implementation of WorkingStrategy for the portfolio parallel strategy This strategy uses the different factories SolverFactory and SharingStrategyFactory in order to instantiate the different needed components specified by the parameters
 CpreprocessThe different simplification techniques implemented in PRS framework
 CPreprocessorInterfaceInterface for preprocessor algorithms in SAT solving
 CPreprocessorStatsPreperocessing technique statistics
 CProofClause
 CqueuePairQueuePair struct used for the priorityQueue in solve
 CSequentialWorkerBasic Implementation of WorkingStrategy for a sequential execution
 CSharerA sharer is a thread responsible for executing a list of SharingStrategies
 CSharingEntityA base class representing entities that can exchange clauses between themselves
 CSharingStatisticsLocal Sharing statistics.Sharing statistics
 CSharingStrategySharingStrategy class, inheriting from SharingEntity
 CSharingStrategyFactoryFactory class for creating and managing sharing strategies
 CSimpleSharingThis strategy is a simple sharing strategy
 CSolverCdclInterfaceInterface for CDCL (Conflict-Driven Clause Learning) solvers This class provides a common interface for all CDCL solvers. It inherits from SolverInterface for solving primitives and SharingEntity for sharing primitives
 CSolverFactoryFactory class for creating and managing SAT solvers
 CSolverInterfaceInterface for a SAT solver with standard features
 CSolvingCdclStatisticsStructure for solver statistics
 CStructuredBVAStructured Binary Variable Addition (SBVA) preprocessing algorithm
 CThreadThread class
 Ctype_gate
 CWorkingStrategyBase Interface for Working Strategies
 Cxorgate
 CYalSatImplements LocalSearchInterface to interact with the YalSAT local search solver