Gecode::MiniModel::ArithNonLinFloatExpr Class Reference

Non-linear float arithmetic expressions. More...

## Public Types

enum | ArithNonLinFloatExprType { ANLFE_ABS , ANLFE_MIN , ANLFE_MAX , ANLFE_MULT , ANLFE_DIV , ANLFE_SQR , ANLFE_SQRT , ANLFE_EXP , ANLFE_LOG , ANLFE_ASIN , ANLFE_SIN , ANLFE_ACOS , ANLFE_COS , ANLFE_ATAN , ANLFE_TAN , ANLFE_POW , ANLFE_NROOT }
| The expression type. More...

## Public Member Functions

| ArithNonLinFloatExpr (ArithNonLinFloatExprType t0, int n0)
| Constructors.
| ArithNonLinFloatExpr (ArithNonLinFloatExprType t0, int n0, int a0)
| ~ArithNonLinFloatExpr (void)
| Destructor.
virtual FloatVar | post (Home home, FloatVar *ret) const
| Post expression.
virtual void | post (Home home, FloatRelType frt, FloatVal c) const
| Post expression to be in relation frt with c.
virtual void | post (Home home, FloatRelType frt, FloatVal c, BoolVar b) const
| Post reified expression to be in relation frt with c.
Public Member Functions inherited from Gecode::NonLinFloatExpr
virtual | ~NonLinFloatExpr (void)
| Destructor.
void * | operator new (size_t s)
| Memory management.
void | operator delete (void *p, size_t s)
| Memory management.

## Public Attributes

enum Gecode::MiniModel::ArithNonLinFloatExpr::ArithNonLinFloatExprType | t
LinFloatExpr * | a
| Expressions.
int | n
| Size of variable array.
int | aInt
| Integer argument (used in nroot for example).

## Additional Inherited Members

Static Public Member Functions inherited from Gecode::NonLinFloatExpr
static FloatVar | result (Home home, FloatVar *x)
| Return fresh variable if x is null, x otherwise.
static FloatVar | result (Home home, FloatVar *x, FloatVar y)
| Constrain x to be equal to y if x is not null.

## Detailed Description

Non-linear float arithmetic expressions.

Definition at line 43 of file float-arith.cpp.

## Member Enumeration Documentation

## ArithNonLinFloatExprType

enum Gecode::MiniModel::ArithNonLinFloatExpr::ArithNonLinFloatExprType

The expression type.

Enumerator
ANLFE_ABS | Absolute value expression.
ANLFE_MIN | Minimum expression.
ANLFE_MAX | Maximum expression.
ANLFE_MULT | Multiplication expression.
ANLFE_DIV | Division expression.
ANLFE_SQR | Square expression.
ANLFE_SQRT | Square root expression.
ANLFE_EXP | Exponential expression.
ANLFE_LOG | Logarithm root expression.
ANLFE_ASIN | expression
ANLFE_SIN | expression
ANLFE_ACOS | expression
ANLFE_COS | expression
ANLFE_ATAN | expression
ANLFE_TAN | expression
ANLFE_POW | Pow expression.
ANLFE_NROOT | Nth root expression.

Definition at line 47 of file float-arith.cpp.

## Constructor & Destructor Documentation

## ArithNonLinFloatExpr() [1/2]

Gecode::MiniModel::ArithNonLinFloatExpr::ArithNonLinFloatExpr | ( | ArithNonLinFloatExprType | t0,
|  | int | n0 )

inline

Constructors.

Definition at line 75 of file float-arith.cpp.

## ArithNonLinFloatExpr() [2/2]

Gecode::MiniModel::ArithNonLinFloatExpr::ArithNonLinFloatExpr | ( | ArithNonLinFloatExprType | t0,
|  | int | n0,
|  | int | a0 )

inline

Definition at line 77 of file float-arith.cpp.

## ~ArithNonLinFloatExpr()

Gecode::MiniModel::ArithNonLinFloatExpr::~ArithNonLinFloatExpr | ( | void |  | ) |

inline

Destructor.

Definition at line 80 of file float-arith.cpp.

## Member Function Documentation

## post() [1/3]

virtual FloatVar Gecode::MiniModel::ArithNonLinFloatExpr::post | ( | Home | home,
|  | FloatVar * | ret ) const

inline virtual

Post expression.

Implements Gecode::NonLinFloatExpr.

Definition at line 82 of file float-arith.cpp.

## post() [2/3]

virtual void Gecode::MiniModel::ArithNonLinFloatExpr::post | ( | Home | home,
|  | FloatRelType | frt,
|  | FloatVal | c ) const

inline virtual

Post expression to be in relation frt with c.

Implements Gecode::NonLinFloatExpr.

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

## post() [3/3]

virtual void Gecode::MiniModel::ArithNonLinFloatExpr::post | ( | Home | home,
|  | FloatRelType | frt,
|  | FloatVal | c,
|  | BoolVar | b ) const

inline virtual

Post reified expression to be in relation frt with c.

Implements Gecode::NonLinFloatExpr.

Definition at line 311 of file float-arith.cpp.

## Member Data Documentation

## t

enum Gecode::MiniModel::ArithNonLinFloatExpr::ArithNonLinFloatExprType Gecode::MiniModel::ArithNonLinFloatExpr::t

## a

LinFloatExpr* Gecode::MiniModel::ArithNonLinFloatExpr::a

Expressions.

Definition at line 69 of file float-arith.cpp.

## n

int Gecode::MiniModel::ArithNonLinFloatExpr::n

Size of variable array.

Definition at line 71 of file float-arith.cpp.

## aInt

int Gecode::MiniModel::ArithNonLinFloatExpr::aInt

Integer argument (used in nroot for example).

Definition at line 73 of file float-arith.cpp.

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

- gecode/minimodel/float-arith.cpp