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 for easy definition of not implemented interval functions

Definition at line 393 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 181 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 195 of file intervalarithext.h.

References SCIPintervalSub().

SCIPInterval operator- ( const SCIPInterval &  y)
inline

negation of an interval

Parameters
yoperand

Definition at line 209 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 222 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 236 of file intervalarithext.h.

References SCIPintervalDiv().

SCIPInterval cos ( const SCIPInterval &  x)
inline

cosine of an interval

Parameters
xoperand

Definition at line 250 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 262 of file intervalarithext.h.

References SCIPintervalExp().

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

SCIPInterval log ( const SCIPInterval &  x)
inline

natural logarithm of an interval

Parameters
xoperand

Definition at line 275 of file intervalarithext.h.

References SCIPintervalLog().

Referenced by enforceConflictgraph(), eval(), readExpression(), SCIP_DECL_EXPREVAL(), 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 302 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 316 of file intervalarithext.h.

References SCIPintervalSignPowerScalar().

Referenced by atomic_signpower< Type >::atomic_signpower().

SCIPInterval sin ( const SCIPInterval &  x)
inline

sine of an interval

Parameters
xoperand

Definition at line 330 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 342 of file intervalarithext.h.

References SCIPintervalSquare().

Referenced by atomic_signpower< Type >::atomic_signpower(), and SCIPcreateConsAbspower().

SCIPInterval abs ( const SCIPInterval &  x)
inline

absolute value of an interval

Parameters
xoperand

Definition at line 368 of file intervalarithext.h.

References SCIPintervalAbs().

Referenced by atomic_signpower< Type >::atomic_signpower(), and evalAbs().

SCIPInterval sign ( const SCIPInterval &  x)
inline