Generated on Tue Feb 11 2025 17:33:26 for Gecode by doxygen 1.12.0
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
 
LinFloatExpra
 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

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
inlinevirtual

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
inlinevirtual

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
inlinevirtual

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: