OR-Tools  9.2
integer.h File Reference

Go to the source code of this file.

Classes

struct  IntegerLiteral
 
struct  AffineExpression
 
struct  IntegerDomains
 
struct  DebugSolution
 
struct  ValueLiteralPair
 
struct  ValueLiteralPair::CompareByLiteral
 
struct  ValueLiteralPair::CompareByValue
 
class  IntegerEncoder
 
class  IntegerTrail
 
class  PropagatorInterface
 
class  RevIntRepository
 
class  RevIntegerValueRepository
 
class  GenericLiteralWatcher
 

Namespaces

namespace  operations_research
 Collection of objects used to extend the Constraint Solver library.
 
namespace  operations_research::sat
 

Typedefs

using InlinedIntegerLiteralVector = absl::InlinedVector< IntegerLiteral, 2 >
 

Functions

 DEFINE_INT_TYPE (IntegerValue, int64_t)
 
constexpr IntegerValue kMaxIntegerValue (std::numeric_limits< IntegerValue::ValueType >::max() - 1)
 
constexpr IntegerValue kMinIntegerValue (-kMaxIntegerValue)
 
double ToDouble (IntegerValue value)
 
template<class IntType >
IntType IntTypeAbs (IntType t)
 
IntegerValue CeilRatio (IntegerValue dividend, IntegerValue positive_divisor)
 
IntegerValue FloorRatio (IntegerValue dividend, IntegerValue positive_divisor)
 
IntegerValue PositiveRemainder (IntegerValue dividend, IntegerValue positive_divisor)
 
bool AddProductTo (IntegerValue a, IntegerValue b, IntegerValue *result)
 
 DEFINE_INT_TYPE (IntegerVariable, int32_t)
 
const IntegerVariable kNoIntegerVariable (-1)
 
IntegerVariable NegationOf (IntegerVariable i)
 
bool VariableIsPositive (IntegerVariable i)
 
IntegerVariable PositiveVariable (IntegerVariable i)
 
 DEFINE_INT_TYPE (PositiveOnlyIndex, int32_t)
 
PositiveOnlyIndex GetPositiveOnlyIndex (IntegerVariable var)
 
std::string IntegerTermDebugString (IntegerVariable var, IntegerValue coeff)
 
std::vector< IntegerVariable > NegationOf (const std::vector< IntegerVariable > &vars)
 
std::ostream & operator<< (std::ostream &os, IntegerLiteral i_lit)
 
std::ostream & operator<< (std::ostream &os, const ValueLiteralPair &p)
 
std::function< BooleanVariable(Model *)> NewBooleanVariable ()
 
std::function< IntegerVariable(Model *)> ConstantIntegerVariable (int64_t value)
 
std::function< IntegerVariable(Model *)> NewIntegerVariable (int64_t lb, int64_t ub)
 
std::function< IntegerVariable(Model *)> NewIntegerVariable (const Domain &domain)
 
std::function< IntegerVariable(Model *)> NewIntegerVariableFromLiteral (Literal lit)
 
std::function< int64_t(const Model &)> LowerBound (IntegerVariable v)
 
std::function< int64_t(const Model &)> UpperBound (IntegerVariable v)
 
std::function< bool(const Model &)> IsFixed (IntegerVariable v)
 
std::function< int64_t(const Model &)> Value (IntegerVariable v)
 
std::function< void(Model *)> GreaterOrEqual (IntegerVariable v, int64_t lb)
 
std::function< void(Model *)> LowerOrEqual (IntegerVariable v, int64_t ub)
 
std::function< void(Model *)> Equality (IntegerVariable v, int64_t value)
 
std::function< void(Model *)> Implication (const std::vector< Literal > &enforcement_literals, IntegerLiteral i)
 
std::function< void(Model *)> ImpliesInInterval (Literal in_interval, IntegerVariable v, int64_t lb, int64_t ub)
 
std::function< std::vector< ValueLiteralPair >(Model *)> FullyEncodeVariable (IntegerVariable var)
 
std::function< void(Model *)> ExcludeCurrentSolutionWithoutIgnoredVariableAndBacktrack ()