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

Basic Implementation of WorkingStrategy for a sequential execution. More...

#include <SequentialWorker.hpp>

Inheritance diagram for SequentialWorker:
Collaboration diagram for SequentialWorker:

Public Member Functions

 SequentialWorker (std::shared_ptr< SolverInterface > solver_)
 
void solve (const std::vector< int > &cube)
 
void join (WorkingStrategy *winner, SatResult res, const std::vector< int > &model)
 
void setSolverInterrupt ()
 
void unsetSolverInterrupt ()
 
void waitInterrupt ()
 
- Public Member Functions inherited from WorkingStrategy
virtual void addSlave (WorkingStrategy *slave)
 

Public Attributes

std::shared_ptr< SolverInterfacesolver
 

Protected Attributes

Threadworker
 
std::vector< int > actualCube
 
std::atomic< bool > force
 
std::atomic< bool > waitJob
 
Mutex waitInterruptLock
 
pthread_mutex_t mutexStart
 
pthread_cond_t mutexCondStart
 
- Protected Attributes inherited from WorkingStrategy
WorkingStrategyparent
 
std::vector< WorkingStrategy * > slaves
 

Friends

void * mainWorker (void *arg)
 

Detailed Description

Basic Implementation of WorkingStrategy for a sequential execution.

Member Function Documentation

◆ join()

void SequentialWorker::join ( WorkingStrategy * winner,
SatResult res,
const std::vector< int > & model )
virtual

Implements WorkingStrategy.

◆ setSolverInterrupt()

void SequentialWorker::setSolverInterrupt ( )
virtual

Implements WorkingStrategy.

◆ solve()

void SequentialWorker::solve ( const std::vector< int > & cube)
virtual

Implements WorkingStrategy.

◆ unsetSolverInterrupt()

void SequentialWorker::unsetSolverInterrupt ( )
virtual

Implements WorkingStrategy.

◆ waitInterrupt()

void SequentialWorker::waitInterrupt ( )
virtual

Implements WorkingStrategy.


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