Generated on Thu Jan 16 2025 00:00:00 for Gecode by doxygen 1.14.0
Gecode::LinFloatExpr Class Reference

Float expressions More...

#include <minimodel.hh>

Classes

class  Node
 Nodes for linear expressions. More...

Public Types

enum  NodeType {
  NT_CONST , NT_VAR , NT_NONLIN , NT_SUM ,
  NT_ADD , NT_SUB , NT_MUL
}
 Type of linear expression. More...

Public Member Functions

 LinFloatExpr (void)
 Default constructor.
 LinFloatExpr (const FloatVal &c)
 Create expression for constant c.
 LinFloatExpr (const FloatVar &x)
 Create expression.
 LinFloatExpr (const FloatVar &x, FloatVal a)
 Create expression.
 LinFloatExpr (const FloatVarArgs &x)
 Create sum expression.
 LinFloatExpr (const FloatValArgs &a, const FloatVarArgs &x)
 Create sum expression.
 LinFloatExpr (const LinFloatExpr &e)
 Copy constructor.
 LinFloatExpr (const LinFloatExpr &e0, NodeType t, const LinFloatExpr &e1)
 Create expression for type and subexpressions.
 LinFloatExpr (const LinFloatExpr &e0, NodeType t, const FloatVal &c)
 Create expression for type and subexpression.
 LinFloatExpr (FloatVal a, const LinFloatExpr &e)
 Create expression for multiplication.
 LinFloatExpr (NonLinFloatExpr *e)
 Create non-linear expression.
const LinFloatExproperator= (const LinFloatExpr &e)
 Assignment operator.
void post (Home home, FloatRelType frt) const
 Post propagator.
void post (Home home, FloatRelType frt, const BoolVar &b) const
 Post reified propagator.
FloatVar post (Home home) const
 Post propagator and return variable for value.
NonLinFloatExprnlfe (void) const
 Return non-linear expression inside, or null if not non-linear.
 ~LinFloatExpr (void)
 Destructor.

Detailed Description

Float expressions

Definition at line 822 of file minimodel.hh.

Member Enumeration Documentation

◆ NodeType

Type of linear expression.

Enumerator
NT_CONST 

Float value constant.

NT_VAR 

Linear term with variable.

NT_NONLIN 

Non-linear expression.

NT_SUM 

Sum of float variables.

NT_ADD 

Addition of linear terms.

NT_SUB 

Subtraction of linear terms.

NT_MUL 

Multiplication by coefficient.

Definition at line 826 of file minimodel.hh.

Constructor & Destructor Documentation

◆ LinFloatExpr() [1/11]

Gecode::LinFloatExpr::LinFloatExpr ( void )

Default constructor.

Definition at line 226 of file float-expr.cpp.

◆ LinFloatExpr() [2/11]

Gecode::LinFloatExpr::LinFloatExpr ( const FloatVal & c)

Create expression for constant c.

Definition at line 234 of file float-expr.cpp.

◆ LinFloatExpr() [3/11]

Gecode::LinFloatExpr::LinFloatExpr ( const FloatVar & x)

Create expression.

Definition at line 244 of file float-expr.cpp.

◆ LinFloatExpr() [4/11]

Gecode::LinFloatExpr::LinFloatExpr ( const FloatVar & x,
FloatVal a )

Create expression.

Definition at line 253 of file float-expr.cpp.

◆ LinFloatExpr() [5/11]

Gecode::LinFloatExpr::LinFloatExpr ( const FloatVarArgs & x)
explicit

Create sum expression.

Definition at line 262 of file float-expr.cpp.

◆ LinFloatExpr() [6/11]

Gecode::LinFloatExpr::LinFloatExpr ( const FloatValArgs & a,
const FloatVarArgs & x )

Create sum expression.

Definition at line 276 of file float-expr.cpp.

◆ LinFloatExpr() [7/11]

Gecode::LinFloatExpr::LinFloatExpr ( const LinFloatExpr & e)

Copy constructor.

Definition at line 132 of file float-expr.cpp.

◆ LinFloatExpr() [8/11]

Gecode::LinFloatExpr::LinFloatExpr ( const LinFloatExpr & e0,
NodeType t,
const LinFloatExpr & e1 )

Create expression for type and subexpressions.

Definition at line 292 of file float-expr.cpp.

◆ LinFloatExpr() [9/11]

Gecode::LinFloatExpr::LinFloatExpr ( const LinFloatExpr & e0,
NodeType t,
const FloatVal & c )

Create expression for type and subexpression.

Definition at line 300 of file float-expr.cpp.

◆ LinFloatExpr() [10/11]

Gecode::LinFloatExpr::LinFloatExpr ( FloatVal a,
const LinFloatExpr & e )

Create expression for multiplication.

Definition at line 309 of file float-expr.cpp.

◆ LinFloatExpr() [11/11]

Gecode::LinFloatExpr::LinFloatExpr ( NonLinFloatExpr * e)
explicit

Create non-linear expression.

Definition at line 318 of file float-expr.cpp.

◆ ~LinFloatExpr()

Gecode::LinFloatExpr::~LinFloatExpr ( void )

Destructor.

Definition at line 337 of file float-expr.cpp.

Member Function Documentation

◆ operator=()

const LinFloatExpr & Gecode::LinFloatExpr::operator= ( const LinFloatExpr & e)

Assignment operator.

Definition at line 328 of file float-expr.cpp.

◆ post() [1/3]

void Gecode::LinFloatExpr::post ( Home home,
FloatRelType frt ) const

Post propagator.

Definition at line 152 of file float-expr.cpp.

◆ post() [2/3]

void Gecode::LinFloatExpr::post ( Home home,
FloatRelType frt,
const BoolVar & b ) const

Post reified propagator.

Definition at line 185 of file float-expr.cpp.

◆ post() [3/3]

FloatVar Gecode::LinFloatExpr::post ( Home home) const

Post propagator and return variable for value.

Definition at line 209 of file float-expr.cpp.

◆ nlfe()

NonLinFloatExpr * Gecode::LinFloatExpr::nlfe ( void ) const

Return non-linear expression inside, or null if not non-linear.

Definition at line 138 of file float-expr.cpp.


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