48#undef SCIPexprcurvNegate
49#undef SCIPexprcurvMultiply
111 if( exponent == 0.0 )
114 if( exponent == 1.0 )
175 sign = exponent * (exponent - 1.0);
177 if(
basebounds.inf < 0.0 && ((
int)exponent)%2 != 0 )
221 if( exponent == 1.0 )
288 sign = exponent * (exponent - 1.0);
290 if(
basebounds.inf < 0.0 && ((
int)exponent)%2 != 0 )
311 sign = exponent * (exponent - 1.0);
313 if(
basebounds.inf < 0.0 && ((
int)exponent)%2 != 0 )
390 if( bounds.
sup < 0.0 )
394 if( bounds.
inf < 0.0 && bounds.
sup > 0.0 )
403 if( bounds.
inf < 0.0 )
411 if( (
int)
e % 2 != 0 )
504 if( bounds.
sup < 0.0 )
509 if( bounds.
inf < 0.0 && bounds.
sup > 0.0 )
518 if( bounds.
inf < 0.0 )
523 if( (
int)
e % 2 != 0 )
566 if( !
EPSLE(sum, 1.0, 1
e-9) )
static const char * curvnames[4]
const char * SCIPexprcurvGetName(SCIP_EXPRCURV curv)
SCIP_EXPRCURV SCIPexprcurvMonomial(int nfactors, SCIP_Real *exponents, int *factoridxs, SCIP_EXPRCURV *factorcurv, SCIP_INTERVAL *factorbounds)
SCIP_EXPRCURV SCIPexprcurvPower(SCIP_INTERVAL basebounds, SCIP_EXPRCURV basecurv, SCIP_Real exponent)
SCIP_EXPRCURV SCIPexprcurvPowerInv(SCIP_INTERVAL basebounds, SCIP_Real exponent, SCIP_EXPRCURV powercurv)
SCIP_Bool SCIPexprcurvMonomialInv(SCIP_EXPRCURV monomialcurv, int nfactors, SCIP_Real *exponents, SCIP_INTERVAL *factorbounds, SCIP_EXPRCURV *factorcurv)
SCIP_EXPRCURV SCIPexprcurvMultiply(SCIP_Real factor, SCIP_EXPRCURV curvature)
SCIP_EXPRCURV SCIPexprcurvAdd(SCIP_EXPRCURV curv1, SCIP_EXPRCURV curv2)
SCIP_EXPRCURV SCIPexprcurvNegate(SCIP_EXPRCURV curvature)
void SCIPintervalSetBounds(SCIP_INTERVAL *resultant, SCIP_Real inf, SCIP_Real sup)
assert(minobj< SCIPgetCutoffbound(scip))
public functions to work with algebraic expressions
public methods for message output