Google OR-Tools v9.9
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
operations_research::sat::FixedModuloPropagator Class Reference

#include <integer_expr.h>

Inheritance diagram for operations_research::sat::FixedModuloPropagator:
operations_research::sat::PropagatorInterface

Public Member Functions

 FixedModuloPropagator (AffineExpression expr, IntegerValue mod, AffineExpression target, IntegerTrail *integer_trail)
 
 FixedModuloPropagator (const FixedModuloPropagator &)=delete
 This type is neither copyable nor movable.
 
FixedModuloPropagatoroperator= (const FixedModuloPropagator &)=delete
 
bool Propagate () final
 
void RegisterWith (GenericLiteralWatcher *watcher)
 
- Public Member Functions inherited from operations_research::sat::PropagatorInterface
 PropagatorInterface ()=default
 
virtual ~PropagatorInterface ()=default
 
virtual bool IncrementalPropagate (const std::vector< int > &)
 

Detailed Description

Propagates target == expr % mod. Basic version, we don't extract any special cases, and we only propagates the bounds. mod must be > 0.

Definition at line 365 of file integer_expr.h.

Constructor & Destructor Documentation

◆ FixedModuloPropagator() [1/2]

operations_research::sat::FixedModuloPropagator::FixedModuloPropagator ( AffineExpression expr,
IntegerValue mod,
AffineExpression target,
IntegerTrail * integer_trail )

Definition at line 1479 of file integer_expr.cc.

◆ FixedModuloPropagator() [2/2]

operations_research::sat::FixedModuloPropagator::FixedModuloPropagator ( const FixedModuloPropagator & )
delete

This type is neither copyable nor movable.

Member Function Documentation

◆ operator=()

FixedModuloPropagator & operations_research::sat::FixedModuloPropagator::operator= ( const FixedModuloPropagator & )
delete

◆ Propagate()

bool operations_research::sat::FixedModuloPropagator::Propagate ( )
finalvirtual

This will be called after one or more literals that are watched by this propagator changed. It will also always be called on the first propagation cycle after registration.

Implements operations_research::sat::PropagatorInterface.

Definition at line 1487 of file integer_expr.cc.

◆ RegisterWith()

void operations_research::sat::FixedModuloPropagator::RegisterWith ( GenericLiteralWatcher * watcher)

Definition at line 1646 of file integer_expr.cc.


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