Scippy

SCIP

Solving Constraint Integer Programs

intervalarithext.h File Reference

Detailed Description

C++ extensions to interval arithmetics for provable bounds.

Author
Stefan Vigerske

Definition in file intervalarithext.h.

Go to the source code of this file.

Macros

#define SCIP_INTERVALARITH_UNDEFFUNC(function)
 

Functions

SCIPInterval operator+ (const SCIPInterval &x, const SCIPInterval &y)
 
SCIPInterval operator- (const SCIPInterval &x, const SCIPInterval &y)
 
SCIPInterval operator- (const SCIPInterval &y)
 
SCIPInterval operator* (const SCIPInterval &x, const SCIPInterval &y)
 
SCIPInterval operator/ (const SCIPInterval &x, const SCIPInterval &y)
 
SCIPInterval cos (const SCIPInterval &x)
 
SCIPInterval exp (const SCIPInterval &x)
 
SCIPInterval log (const SCIPInterval &x)
 
SCIPInterval pow (const SCIPInterval &x, const SCIPInterval &y)
 
SCIPInterval pow (const SCIPInterval &x, const SCIP_Real &y)
 
SCIPInterval signpow (const SCIPInterval &x, const SCIP_Real p)
 
SCIPInterval sin (const SCIPInterval &x)
 
SCIPInterval square (const SCIPInterval &x)
 
SCIPInterval sqrt (const SCIPInterval &x)
 
SCIPInterval abs (const SCIPInterval &x)
 
SCIPInterval sign (const SCIPInterval &x)
 

Macro Definition Documentation

#define SCIP_INTERVALARITH_UNDEFFUNC (   function)
Value:
inline \
SCIPInterval function( \
const SCIPInterval& x /**< operand */ \
) \
{ \
SCIPerrorMessage("Error: " #function " not implemented for intervals.\n"); \
return SCIPInterval(); \
}

macro to easy definition of so far unimplemented interval functions

Definition at line 390 of file intervalarithext.h.

Function Documentation

SCIPInterval operator+ ( const SCIPInterval &  x,
const SCIPInterval &  y 
)
inline

addition of two intervals

Parameters
xfirst operand
ysecond operand

Definition at line 178 of file intervalarithext.h.

References SCIPintervalAdd().

SCIPInterval operator- ( const SCIPInterval &  x,
const SCIPInterval &  y 
)
inline

substraction for two intervals

Parameters
xfirst operand
ysecond operand

Definition at line 192 of file intervalarithext.h.

References SCIPintervalSub().

SCIPInterval operator- ( const SCIPInterval &  y)
inline

negation of an interval

Parameters
yoperand

Definition at line 206 of file intervalarithext.h.

References SCIPintervalSetBounds().

SCIPInterval operator* ( const SCIPInterval &  x,
const SCIPInterval &  y 
)
inline

multiplication of two intervals

Parameters
xfirst operand
ysecond operand

Definition at line 219 of file intervalarithext.h.

References SCIPintervalMul().

SCIPInterval operator/ ( const SCIPInterval &  x,
const SCIPInterval &  y 
)
inline

division for two intervals

Parameters
xfirst operand
ysecond operand

Definition at line 233 of file intervalarithext.h.

References SCIPintervalDiv().

SCIPInterval cos ( const SCIPInterval &  x)
inline

cosinus of an interval

Parameters
xoperand

Definition at line 247 of file intervalarithext.h.

References SCIPerrorMessage.

Referenced by eval(), presolveCreateBenTalNemirovskiApproxDim3(), presolveCreateGlineurApproxDim3(), and SCIP_DECL_EXPREVAL().

SCIPInterval exp ( const SCIPInterval &  x)
inline

exponential of an interval

Parameters
xoperand

Definition at line 259 of file intervalarithext.h.

References SCIPintervalExp().

Referenced by eval(), SCIP_DECL_EXPREVAL(), and SCIPintervalExp().

SCIPInterval log ( const SCIPInterval &  x)
inline

natural logarithm of an interval

Parameters
xoperand

Definition at line 272 of file intervalarithext.h.

References SCIPintervalLog().

Referenced by eval(), readExpression(), SCIP_DECL_EXPREVAL(), SCIP_DECL_PRESOLEXEC(), and SCIPintervalLog().

SCIPInterval pow ( const SCIPInterval &  x,
const SCIP_Real y 
)
inline

power of an interval to a scalar

Parameters
xfirst operand
yexponent

Definition at line 299 of file intervalarithext.h.

References SCIPintervalPowerScalar().

SCIPInterval signpow ( const SCIPInterval &  x,
const SCIP_Real  p 
)
inline

signpower of an interval to a scalar

Parameters
xfirst operand
pexponent

Definition at line 313 of file intervalarithext.h.

References SCIPintervalSignPowerScalar().

SCIPInterval sin ( const SCIPInterval &  x)
inline

sinus of an interval

Parameters
xoperand

Definition at line 327 of file intervalarithext.h.

References SCIPerrorMessage.

Referenced by eval(), presolveCreateBenTalNemirovskiApproxDim3(), presolveCreateGlineurApproxDim3(), and SCIP_DECL_EXPREVAL().

SCIPInterval square ( const SCIPInterval &  x)
inline

square an interval

Parameters
xoperand

Definition at line 339 of file intervalarithext.h.

References SCIPintervalSquare().

Referenced by SCIPcreateConsAbspower().

SCIPInterval abs ( const SCIPInterval &  x)
inline

absolute value of an interval

Parameters
xoperand

Definition at line 365 of file intervalarithext.h.

References SCIPintervalAbs().

Referenced by evalAbs().

SCIPInterval sign ( const SCIPInterval &  x)
inline

sign of an interval

Parameters
xoperand

Definition at line 378 of file intervalarithext.h.

References SCIPintervalSign().

Referenced by addAltLPConstraint(), addAltLPRow(), createNlRow(), eval(), getRedCostEst(), readBounds(), readIndicators(), SCIP_DECL_HEUREXEC(), and SCIPexprcurvPower().