23 #ifndef __SCIP_INTERVALARITHEXT_HPP__ 24 #define __SCIP_INTERVALARITHEXT_HPP__ 34 #ifdef SCIPInterval_NAMESPACE 102 return (this->inf == y.
inf) && (this->sup == y.
sup);
110 return !operator==(y);
118 return ( (inf == y) && (sup == y) ) ||
124 SCIPInterval& operator+=(
125 const SCIPInterval& y
133 SCIPInterval& operator-=(
134 const SCIPInterval& y
142 SCIPInterval& operator*=(
143 const SCIPInterval& y
151 SCIPInterval& operator/=(
152 const SCIPInterval& y
160 SCIPInterval& operator=(
169 SCIPInterval& operator=(
182 const SCIPInterval& x,
183 const SCIPInterval& y
186 SCIPInterval resultant;
196 const SCIPInterval& x,
197 const SCIPInterval& y
200 SCIPInterval resultant;
210 const SCIPInterval& y
213 SCIPInterval resultant;
223 const SCIPInterval& x,
224 const SCIPInterval& y
227 SCIPInterval resultant;
237 const SCIPInterval& x,
238 const SCIPInterval& y
241 SCIPInterval resultant;
251 const SCIPInterval& x
254 SCIPInterval resultant;
264 const SCIPInterval& x
267 SCIPInterval resultant;
277 const SCIPInterval& x
280 SCIPInterval resultant;
290 const SCIPInterval& x,
291 const SCIPInterval& y
294 SCIPInterval resultant;
304 const SCIPInterval& x,
308 SCIPInterval resultant;
318 const SCIPInterval& x,
322 SCIPInterval resultant;
332 const SCIPInterval& x
335 SCIPInterval resultant;
345 const SCIPInterval& x
348 SCIPInterval resultant;
358 const SCIPInterval& x
361 SCIPInterval resultant;
371 const SCIPInterval& x
374 SCIPInterval resultant;
384 const SCIPInterval& x
387 SCIPInterval resultant;
395 #define SCIP_INTERVALARITH_UNDEFFUNC(function) \ 397 SCIPInterval function( \ 398 const SCIPInterval& x \ 401 SCIPerrorMessage("Error: " #function " not implemented for intervals.\n"); \ 402 return SCIPInterval(); \ 418 #undef SCIP_INTERVALARITH_UNDEFFUNC 420 #ifdef SCIPInterval_NAMESPACE void SCIPintervalSignPowerScalar(SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand1, SCIP_Real operand2)
SCIPInterval square(const SCIPInterval &x)
SCIP_Bool SCIPintervalIsEmpty(SCIP_Real infinity, SCIP_INTERVAL operand)
void SCIPintervalSign(SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand)
SCIPInterval pow(const SCIPInterval &x, const SCIPInterval &y)
SCIPInterval cos(const SCIPInterval &x)
void SCIPintervalMul(SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand1, SCIP_INTERVAL operand2)
SCIPInterval operator-(const SCIPInterval &x, const SCIPInterval &y)
SCIPInterval exp(const SCIPInterval &x)
void SCIPintervalSetBounds(SCIP_INTERVAL *resultant, SCIP_Real inf, SCIP_Real sup)
void SCIPintervalPowerScalar(SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand1, SCIP_Real operand2)
void SCIPintervalDiv(SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand1, SCIP_INTERVAL operand2)
SCIPInterval abs(const SCIPInterval &x)
void SCIPintervalSin(SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand)
SCIPInterval signpow(const SCIPInterval &x, const SCIP_Real p)
#define SCIP_INTERVALARITH_UNDEFFUNC(function)
interval arithmetics for provable bounds
void SCIPintervalLog(SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand)
SCIPInterval sqrt(const SCIPInterval &x)
SCIPInterval sign(const SCIPInterval &x)
#define SCIPInterval_NAMESPACE
SCIPInterval operator+(const SCIPInterval &x, const SCIPInterval &y)
void SCIPintervalSet(SCIP_INTERVAL *resultant, SCIP_Real value)
void SCIPintervalCos(SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand)
SCIPInterval sin(const SCIPInterval &x)
void SCIPintervalSquareRoot(SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand)
void SCIPintervalSquare(SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand)
void SCIPintervalAdd(SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand1, SCIP_INTERVAL operand2)
SCIPInterval log(const SCIPInterval &x)
void SCIPintervalAbs(SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand)
void SCIPintervalExp(SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand)
public methods for message output
SCIPInterval operator*(const SCIPInterval &x, const SCIPInterval &y)
void SCIPintervalSub(SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand1, SCIP_INTERVAL operand2)
SCIPInterval operator/(const SCIPInterval &x, const SCIPInterval &y)
void SCIPintervalPower(SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand1, SCIP_INTERVAL operand2)