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 LinFloatExpr & | operator= (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.
NonLinFloatExpr * | nlfe (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

enum Gecode::LinFloatExpr::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:

- gecode/minimodel.hh
- gecode/minimodel/float-expr.cpp