A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://scip.zib.de/doc/html/group__PublicIntervalArithMethods.php below:

SCIP Doxygen Documentation: Interval Arithmetics

methods for interval arithmetics

SCIP_Bool  SCIPintervalHasRoundingControl (void)   void  SCIPintervalSetRoundingMode (SCIP_ROUNDMODE roundmode)   SCIP_ROUNDMODE  SCIPintervalGetRoundingMode (void)   void  SCIPintervalSetRoundingModeDownwards (void)   void  SCIPintervalSetRoundingModeUpwards (void)   void  SCIPintervalSetRoundingModeToNearest (void)   void  SCIPintervalSetRoundingModeTowardsZero (void)   SCIP_Real  SCIPintervalNegateReal (SCIP_Real x)   SCIP_Real  SCIPintervalGetInf (SCIP_INTERVAL interval)   SCIP_Real  SCIPintervalGetSup (SCIP_INTERVAL interval)   void  SCIPintervalSet (SCIP_INTERVAL *resultant, SCIP_Real value)   void  SCIPintervalSetBounds (SCIP_INTERVAL *resultant, SCIP_Real inf, SCIP_Real sup)   void  SCIPintervalSetEmpty (SCIP_INTERVAL *resultant)   SCIP_Bool  SCIPintervalIsEmpty (SCIP_Real infinity, SCIP_INTERVAL operand)   void  SCIPintervalSetEntire (SCIP_Real infinity, SCIP_INTERVAL *resultant)   SCIP_Bool  SCIPintervalIsEntire (SCIP_Real infinity, SCIP_INTERVAL operand)   SCIP_Bool  SCIPintervalIsPositiveInfinity (SCIP_Real infinity, SCIP_INTERVAL operand)   SCIP_Bool  SCIPintervalIsNegativeInfinity (SCIP_Real infinity, SCIP_INTERVAL operand)   SCIP_Bool  SCIPintervalIsSubsetEQ (SCIP_Real infinity, SCIP_INTERVAL operand1, SCIP_INTERVAL operand2)   SCIP_Bool  SCIPintervalAreDisjoint (SCIP_INTERVAL operand1, SCIP_INTERVAL operand2)   SCIP_Bool  SCIPintervalAreDisjointEps (SCIP_Real eps, SCIP_INTERVAL operand1, SCIP_INTERVAL operand2)   void  SCIPintervalIntersect (SCIP_INTERVAL *resultant, SCIP_INTERVAL operand1, SCIP_INTERVAL operand2)   void  SCIPintervalIntersectEps (SCIP_INTERVAL *resultant, SCIP_Real eps, SCIP_INTERVAL operand1, SCIP_INTERVAL operand2)   void  SCIPintervalUnify (SCIP_INTERVAL *resultant, SCIP_INTERVAL operand1, SCIP_INTERVAL operand2)   void  SCIPintervalAddInf (SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand1, SCIP_INTERVAL operand2)   void  SCIPintervalAddSup (SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand1, SCIP_INTERVAL operand2)   void  SCIPintervalAdd (SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand1, SCIP_INTERVAL operand2)   void  SCIPintervalAddScalar (SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand1, SCIP_Real operand2)   void  SCIPintervalAddVectors (SCIP_Real infinity, SCIP_INTERVAL *resultant, int length, SCIP_INTERVAL *operand1, SCIP_INTERVAL *operand2)   void  SCIPintervalSub (SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand1, SCIP_INTERVAL operand2)   void  SCIPintervalSubScalar (SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand1, SCIP_Real operand2)   void  SCIPintervalMulInf (SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand1, SCIP_INTERVAL operand2)   void  SCIPintervalMulSup (SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand1, SCIP_INTERVAL operand2)   void  SCIPintervalMul (SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand1, SCIP_INTERVAL operand2)   void  SCIPintervalMulScalarInf (SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand1, SCIP_Real operand2)   void  SCIPintervalMulScalarSup (SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand1, SCIP_Real operand2)   void  SCIPintervalMulScalar (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)   void  SCIPintervalDivScalar (SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand1, SCIP_Real operand2)   void  SCIPintervalScalprod (SCIP_Real infinity, SCIP_INTERVAL *resultant, int length, SCIP_INTERVAL *operand1, SCIP_INTERVAL *operand2)   void  SCIPintervalScalprodScalarsInf (SCIP_Real infinity, SCIP_INTERVAL *resultant, int length, SCIP_INTERVAL *operand1, SCIP_Real *operand2)   void  SCIPintervalScalprodScalarsSup (SCIP_Real infinity, SCIP_INTERVAL *resultant, int length, SCIP_INTERVAL *operand1, SCIP_Real *operand2)   void  SCIPintervalScalprodScalars (SCIP_Real infinity, SCIP_INTERVAL *resultant, int length, SCIP_INTERVAL *operand1, SCIP_Real *operand2)   void  SCIPintervalSquare (SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand)   void  SCIPintervalSquareRoot (SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand)   void  SCIPintervalPower (SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand1, SCIP_INTERVAL operand2)   void  SCIPintervalPowerScalar (SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand1, SCIP_Real operand2)   void  SCIPintervalPowerScalarScalar (SCIP_INTERVAL *resultant, SCIP_Real operand1, SCIP_Real operand2)   SCIP_Real  SCIPintervalPowerScalarIntegerInf (SCIP_Real operand1, int operand2)   SCIP_Real  SCIPintervalPowerScalarIntegerSup (SCIP_Real operand1, int operand2)   void  SCIPintervalPowerScalarInteger (SCIP_INTERVAL *resultant, SCIP_Real operand1, int operand2)   void  SCIPintervalPowerScalarInverse (SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL basedomain, SCIP_Real exponent, SCIP_INTERVAL image)   void  SCIPintervalSignPowerScalar (SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand1, SCIP_Real operand2)   void  SCIPintervalReciprocal (SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand)   void  SCIPintervalExp (SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand)   void  SCIPintervalLog (SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand)   void  SCIPintervalMin (SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand1, SCIP_INTERVAL operand2)   void  SCIPintervalMax (SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand1, SCIP_INTERVAL operand2)   void  SCIPintervalAbs (SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand)   void  SCIPintervalSin (SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand)   void  SCIPintervalCos (SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand)   void  SCIPintervalSign (SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand)   void  SCIPintervalEntropy (SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL operand)   SCIP_Real  SCIPintervalQuadUpperBound (SCIP_Real infinity, SCIP_Real a, SCIP_INTERVAL b_, SCIP_INTERVAL x)   void  SCIPintervalQuad (SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_Real sqrcoeff, SCIP_INTERVAL lincoeff, SCIP_INTERVAL xrng)   void  SCIPintervalSolveUnivariateQuadExpressionPositive (SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL sqrcoeff, SCIP_INTERVAL lincoeff, SCIP_INTERVAL rhs, SCIP_INTERVAL xbnds)   void  SCIPintervalSolveUnivariateQuadExpressionNegative (SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL sqrcoeff, SCIP_INTERVAL lincoeff, SCIP_INTERVAL rhs, SCIP_INTERVAL xbnds)   void  SCIPintervalSolveUnivariateQuadExpressionPositiveAllScalar (SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_Real sqrcoeff, SCIP_Real lincoeff, SCIP_Real rhs, SCIP_INTERVAL xbnds)   void  SCIPintervalSolveUnivariateQuadExpression (SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_INTERVAL sqrcoeff, SCIP_INTERVAL lincoeff, SCIP_INTERVAL rhs, SCIP_INTERVAL xbnds)   void  SCIPintervalQuadBivar (SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_Real ax, SCIP_Real ay, SCIP_Real axy, SCIP_Real bx, SCIP_Real by, SCIP_INTERVAL xbnds, SCIP_INTERVAL ybnds)   void  SCIPintervalSolveBivariateQuadExpressionAllScalar (SCIP_Real infinity, SCIP_INTERVAL *resultant, SCIP_Real ax, SCIP_Real ay, SCIP_Real axy, SCIP_Real bx, SCIP_Real by, SCIP_INTERVAL rhs, SCIP_INTERVAL xbnds, SCIP_INTERVAL ybnds)   int  SCIPintervalPropagateWeightedSum (SCIP_Real infinity, int noperands, SCIP_INTERVAL *operands, SCIP_Real *weights, SCIP_Real constant, SCIP_INTERVAL rhs, SCIP_INTERVAL *resultants, SCIP_Bool *infeasible)   ◆ SCIP_INTERVAL ◆ SCIP_ROUNDMODE

rounding mode of floating point operations (upwards, downwards, nearest, ...)

exact values depend on machine and compiler

Definition at line 64 of file intervalarith.h.

◆ SCIPintervalHasRoundingControl() SCIP_Bool SCIPintervalHasRoundingControl ( void  ) ◆ SCIPintervalSetRoundingMode() ◆ SCIPintervalGetRoundingMode() ◆ SCIPintervalSetRoundingModeDownwards() void SCIPintervalSetRoundingModeDownwards ( void  ) ◆ SCIPintervalSetRoundingModeUpwards() void SCIPintervalSetRoundingModeUpwards ( void  ) ◆ SCIPintervalSetRoundingModeToNearest() void SCIPintervalSetRoundingModeToNearest ( void  ) ◆ SCIPintervalSetRoundingModeTowardsZero() void SCIPintervalSetRoundingModeTowardsZero ( void  ) ◆ SCIPintervalNegateReal() ◆ SCIPintervalGetInf()

returns infimum of interval

Parameters

Definition at line 405 of file intervalarith.c.

References SCIP_Interval::inf.

Referenced by computeRoot(), findMonoidalQuadRoot(), getFeasiblePointsBilinear(), intEvalQuotient(), lpUpdateVarColumnProved(), lpUpdateVarLooseProved(), lpUpdateVarProved(), nlrowCalcActivityBounds(), propagateBoundsQuadExpr(), provedBound(), reverseProp(), SCIP_DECL_EXPRCURVATURE(), SCIP_DECL_EXPRINITESTIMATES(), SCIP_DECL_EXPRINTEVAL(), SCIP_DECL_EXPRMONOTONICITY(), SCIP_DECL_EXPRREVERSEPROP(), SCIP_DECL_NLHDLRINTEVAL(), SCIP_DECL_NLHDLRREVERSEPROP(), SCIPintervalSolveUnivariateQuadExpression(), SCIPlpGetModifiedProvedPseudoObjval(), and startProbing().

◆ SCIPintervalGetSup()

returns supremum of interval

Parameters

Definition at line 413 of file intervalarith.c.

References SCIP_Interval::sup.

Referenced by getFeasiblePointsBilinear(), intEvalQuotient(), nlrowCalcActivityBounds(), propagateBoundsQuadExpr(), reverseProp(), SCIP_DECL_EXPRCURVATURE(), SCIP_DECL_EXPRINITESTIMATES(), SCIP_DECL_EXPRINTEVAL(), SCIP_DECL_EXPRMONOTONICITY(), SCIP_DECL_EXPRREVERSEPROP(), SCIP_DECL_NLHDLRINTEVAL(), SCIP_DECL_NLHDLRREVERSEPROP(), SCIPintervalSolveUnivariateQuadExpression(), and startProbing().

◆ SCIPintervalSet()

stores given value as interval

Parameters
resultant interval to store value into value value to store

Definition at line 421 of file intervalarith.c.

References SCIP_Interval::inf, NULL, and SCIP_Interval::sup.

Referenced by computeMaxForBilinearProp(), getFeasiblePointsBilinear(), intEvalQuotient(), lpUpdateVarColumnProved(), lpUpdateVarLooseProved(), lpUpdateVarProved(), nlrowCalcActivityBounds(), propagateBoundsQuadExpr(), provedBound(), reverseProp(), reversePropBilinear(), reversepropQuotient(), SCIP_DECL_EXPRINTEVAL(), SCIP_DECL_EXPRREVERSEPROP(), SCIP_DECL_NLHDLRINTEVAL(), SCIP_DECL_NLHDLRREVERSEPROP(), SCIPintervalDiv(), SCIPintervalEntropy(), SCIPintervalIntersectEps(), SCIPintervalPower(), SCIPintervalPowerScalarInteger(), SCIPintervalPowerScalarScalar(), SCIPintervalQuadBivar(), SCIPintervalSolveBivariateQuadExpressionAllScalar(), and SCIPlpGetModifiedProvedPseudoObjval().

◆ SCIPintervalSetBounds()

stores given infimum and supremum as interval

Parameters
resultant interval to store value into inf value to store as infimum sup value to store as supremum

Definition at line 433 of file intervalarith.c.

References SCIP_Interval::inf, NULL, and SCIP_Interval::sup.

Referenced by computeRangeForBilinearProp(), computeRevPropIntervalSin(), computeRoot(), estimateBivariateQuotient(), estimateUnivariateQuotient(), findMonoidalQuadRoot(), getFeasiblePointsBilinear(), intevalBilinear(), nlrowCalcActivityBounds(), presolveRedundantConss(), propConss(), provedBound(), reverseProp(), SCIP_DECL_EXPR_INTEVALVAR(), SCIP_DECL_EXPRINTEVAL(), SCIP_DECL_EXPRREVERSEPROP(), SCIP_DECL_NLHDLRESTIMATE(), SCIP_DECL_NLHDLRINITSEPA(), SCIP_DECL_NLHDLRINTEVAL(), SCIP_DECL_NLHDLRREVERSEPROP(), SCIP_DECL_NLHDLRSOLLINEARIZE(), SCIPexprcurvPower(), SCIPexprcurvPowerInv(), SCIPintervalCos(), SCIPintervalEntropy(), SCIPintervalPower(), SCIPintervalPowerScalarInverse(), SCIPintervalQuadBivar(), SCIPintervalSin(), and SCIPintervalSolveBivariateQuadExpressionAllScalar().

◆ SCIPintervalSetEmpty()

sets interval to empty interval, which will be [1.0, -1.0]

Parameters
resultant resultant interval of operation

Definition at line 447 of file intervalarith.c.

References SCIP_Interval::inf, NULL, and SCIP_Interval::sup.

Referenced by computeRevPropIntervalSin(), forwardPropExpr(), intevalBilinear(), intEvalQuotient(), reverseProp(), reversePropBilinear(), reversepropQuotient(), SCIP_DECL_EXPRINTEVAL(), SCIP_DECL_NLHDLRINTEVAL(), SCIPexprEvalActivity(), SCIPintervalEntropy(), SCIPintervalLog(), SCIPintervalPowerScalar(), SCIPintervalPowerScalarInverse(), SCIPintervalQuad(), SCIPintervalSolveBivariateQuadExpressionAllScalar(), SCIPintervalSolveUnivariateQuadExpression(), SCIPintervalSolveUnivariateQuadExpressionPositive(), SCIPintervalSolveUnivariateQuadExpressionPositiveAllScalar(), and SCIPintervalSquareRoot().

◆ SCIPintervalIsEmpty()

indicates whether interval is empty, i.e., whether inf > sup

Parameters
infinity value for infinity operand operand of operation

Definition at line 458 of file intervalarith.c.

References FALSE, SCIP_Interval::inf, infinity, and SCIP_Interval::sup.

Referenced by computeRoot(), createAuxVar(), estimateVertexPolyhedralProduct(), findMonoidalQuadRoot(), forwardPropExpr(), getFeasiblePointsBilinear(), intevalBilinear(), intEvalQuotient(), isIntervalBetter(), presolveRedundantConss(), propagateBoundsQuadExpr(), propConss(), reverseProp(), reversePropQueue(), reversepropQuotient(), SCIP_DECL_EXPRESTIMATE(), SCIP_DECL_EXPRINTEVAL(), SCIP_DECL_EXPRREVERSEPROP(), SCIP_DECL_NLHDLRESTIMATE(), SCIP_DECL_NLHDLRINITSEPA(), SCIP_DECL_NLHDLRINTEVAL(), SCIP_DECL_NLHDLRREVERSEPROP(), SCIPintervalAbs(), SCIPintervalAdd(), SCIPintervalAddScalar(), SCIPintervalCos(), SCIPintervalDiv(), SCIPintervalDivScalar(), SCIPintervalEntropy(), SCIPintervalExp(), SCIPintervalLog(), SCIPintervalMax(), SCIPintervalMin(), SCIPintervalMul(), SCIPintervalMulInf(), SCIPintervalMulScalar(), SCIPintervalMulScalarInf(), SCIPintervalMulScalarSup(), SCIPintervalMulSup(), SCIPintervalPower(), SCIPintervalPowerScalar(), SCIPintervalPropagateWeightedSum(), SCIPintervalQuad(), SCIPintervalQuadUpperBound(), SCIPintervalReciprocal(), SCIPintervalSign(), SCIPintervalSignPowerScalar(), SCIPintervalSolveBivariateQuadExpressionAllScalar(), SCIPintervalSolveUnivariateQuadExpression(), SCIPintervalSquare(), SCIPintervalSquareRoot(), SCIPintervalSub(), SCIPtightenExprIntervalNonlinear(), and tightenAuxVarBounds().

◆ SCIPintervalSetEntire()

sets interval to entire [-infinity, +infinity]

Parameters
infinity value for infinity resultant resultant interval of operation

Definition at line 470 of file intervalarith.c.

References SCIP_Interval::inf, infinity, NULL, and SCIP_Interval::sup.

Referenced by computeRangeForBilinearProp(), createAuxVar(), forwardPropExpr(), intevalBilinear(), intEvalQuotient(), reversepropQuotient(), SCIP_DECL_NLHDLRREVERSEPROP(), SCIPexprCreate(), SCIPexprEvalActivity(), SCIPgetExprBoundsNonlinear(), SCIPintervalPropagateWeightedSum(), SCIPintervalScalprod(), SCIPintervalScalprodScalarsInf(), and SCIPintervalScalprodScalarsSup().

◆ SCIPintervalIsEntire()

indicates whether interval is entire, i.e., whether inf ≤ -infinity and sup ≥ infinity

Parameters
infinity value for infinity operand operand of operation

Definition at line 482 of file intervalarith.c.

References SCIP_Interval::inf, infinity, and SCIP_Interval::sup.

Referenced by nlrowCalcActivityBounds(), reversePropQueue(), SCIP_DECL_EXPRREVERSEPROP(), SCIP_DECL_NLHDLRDETECT(), SCIP_DECL_NLHDLRREVERSEPROP(), SCIPintervalPropagateWeightedSum(), and SCIPtightenExprIntervalNonlinear().

◆ SCIPintervalIsPositiveInfinity() ◆ SCIPintervalIsNegativeInfinity() ◆ SCIPintervalIsSubsetEQ() ◆ SCIPintervalAreDisjoint() ◆ SCIPintervalAreDisjointEps()

indicates whether operand1 and operand2 are disjoint with epsilon tolerance

Returns whether minimal (relative) distance of intervals is larger than epsilon. Same as SCIPintervalIsEmpty(SCIPintervalIntersectEps(operand1, operand2)).

Parameters
eps epsilon operand1 first operand of operation operand2 second operand of operation

Definition at line 541 of file intervalarith.c.

References eps, FALSE, SCIP_Interval::inf, SCIPrelDiff(), and SCIP_Interval::sup.

◆ SCIPintervalIntersect()

intersection of two intervals

Parameters
resultant resultant interval of operation operand1 first operand of operation operand2 second operand of operation

Definition at line 557 of file intervalarith.c.

References SCIP_Interval::inf, MAX, MIN, NULL, and SCIP_Interval::sup.

Referenced by reverseProp(), SCIP_DECL_EXPRREVERSEPROP(), SCIP_DECL_NLHDLRINITSEPA(), SCIP_DECL_NLHDLRINTEVAL(), SCIPintervalIntersectEps(), SCIPintervalPowerScalarInverse(), SCIPintervalPropagateWeightedSum(), SCIPintervalSolveBivariateQuadExpressionAllScalar(), SCIPintervalSolveUnivariateQuadExpression(), SCIPintervalSolveUnivariateQuadExpressionPositive(), and SCIPintervalSolveUnivariateQuadExpressionPositiveAllScalar().

◆ SCIPintervalIntersectEps()

intersection of two intervals with epsilon tolerance

If intersection of operand1 and operand2 is empty, but minimal (relative) distance of intervals is at most epsilon, then set resultant to singleton containing the point in operand1 that is closest to operand2, i.e.,

Parameters
resultant resultant interval of operation eps epsilon operand1 first operand of operation operand2 second operand of operation

Definition at line 578 of file intervalarith.c.

References eps, SCIP_Interval::inf, NULL, SCIPintervalIntersect(), SCIPintervalSet(), SCIPrelDiff(), and SCIP_Interval::sup.

Referenced by estimateBivariateQuotient(), estimateUnivariateQuotient(), forwardPropExpr(), SCIP_DECL_NLHDLRESTIMATE(), SCIPgetExprBoundsNonlinear(), and SCIPtightenExprIntervalNonlinear().

◆ SCIPintervalUnify() ◆ SCIPintervalAddInf() ◆ SCIPintervalAddSup() ◆ SCIPintervalAdd()

adds operand1 and operand2 and stores result in resultant

Parameters
infinity value for infinity resultant resultant interval of operation operand1 first operand of operation operand2 second operand of operation

Definition at line 690 of file intervalarith.c.

References infinity, intervalGetRoundingMode(), intervalSetRoundingMode(), NULL, SCIP_ROUND_DOWNWARDS, SCIP_ROUND_UPWARDS, SCIPintervalAddInf(), SCIPintervalAddSup(), and SCIPintervalIsEmpty().

Referenced by lpUpdateVarLooseProved(), lpUpdateVarProved(), nlrowCalcActivityBounds(), provedBound(), SCIP_DECL_EXPRINTEVAL(), SCIP_DECL_NLHDLRINTEVAL(), SCIP_DECL_NLHDLRREVERSEPROP(), SCIPintervalQuadBivar(), SCIPintervalSin(), and SCIPlpGetModifiedProvedPseudoObjval().

◆ SCIPintervalAddScalar()

adds operand1 and scalar operand2 and stores result in resultant

Parameters
infinity value for infinity resultant resultant interval of operation operand1 first operand of operation operand2 second operand of operation

Definition at line 717 of file intervalarith.c.

References SCIP_Interval::inf, infinity, intervalGetRoundingMode(), intervalSetRoundingMode(), NULL, SCIP_ROUND_DOWNWARDS, SCIP_ROUND_UPWARDS, SCIPintervalIsEmpty(), and SCIP_Interval::sup.

Referenced by intEvalQuotient(), reversepropQuotient(), SCIP_DECL_EXPRREVERSEPROP(), SCIPintervalQuadBivar(), SCIPintervalSolveBivariateQuadExpressionAllScalar(), and SCIPintervalSubScalar().

◆ SCIPintervalAddVectors() ◆ SCIPintervalSub()

subtracts operand2 from operand1 and stores result in resultant

Parameters
infinity value for infinity resultant resultant interval of operation operand1 first operand of operation operand2 second operand of operation

Definition at line 797 of file intervalarith.c.

References SCIP_Interval::inf, infinity, intervalGetRoundingMode(), intervalSetRoundingMode(), NULL, SCIP_ROUND_DOWNWARDS, SCIP_ROUND_UPWARDS, SCIPintervalIsEmpty(), and SCIP_Interval::sup.

Referenced by lpUpdateVarColumnProved(), lpUpdateVarProved(), provedBound(), SCIP_DECL_NLHDLRREVERSEPROP(), SCIPintervalCos(), SCIPintervalSin(), SCIPintervalSolveBivariateQuadExpressionAllScalar(), and SCIPlpGetModifiedProvedPseudoObjval().

◆ SCIPintervalSubScalar()

subtracts scalar operand2 from operand1 and stores result in resultant

Parameters
infinity value for infinity resultant resultant interval of operation operand1 first operand of operation operand2 second operand of operation

Definition at line 845 of file intervalarith.c.

References infinity, and SCIPintervalAddScalar().

Referenced by reversepropQuotient().

◆ SCIPintervalMulInf()

multiplies operand1 with operand2 and stores infimum of result in infimum of resultant

Parameters
infinity value for infinity resultant resultant interval of operation operand1 first operand of operation; can be +/-inf operand2 second operand of operation; can be +/-inf

Definition at line 856 of file intervalarith.c.

References SCIP_Interval::inf, infinity, intervalGetRoundingMode(), MIN, NULL, SCIP_Real, SCIP_ROUND_DOWNWARDS, SCIPintervalIsEmpty(), SCIPintervalMulScalarInf(), and SCIP_Interval::sup.

Referenced by SCIPintervalMul(), and SCIPintervalScalprod().

◆ SCIPintervalMulSup()

multiplies operand1 with operand2 and stores supremum of result in supremum of resultant

Parameters
infinity value for infinity resultant resultant interval of operation operand1 first operand of operation; can be +/-inf operand2 second operand of operation; can be +/-inf

Definition at line 916 of file intervalarith.c.

References SCIP_Interval::inf, infinity, intervalGetRoundingMode(), MAX, NULL, SCIP_Real, SCIP_ROUND_UPWARDS, SCIPintervalIsEmpty(), SCIPintervalMulScalarSup(), and SCIP_Interval::sup.

Referenced by SCIPintervalMul(), and SCIPintervalScalprod().

◆ SCIPintervalMul()

multiplies operand1 with operand2 and stores result in resultant

Parameters
infinity value for infinity resultant resultant interval of operation operand1 first operand of operation; can be +/-inf operand2 second operand of operation; can be +/-inf

Definition at line 976 of file intervalarith.c.

References infinity, intervalGetRoundingMode(), intervalSetRoundingMode(), NULL, SCIP_ROUND_DOWNWARDS, SCIP_ROUND_UPWARDS, SCIPintervalIsEmpty(), SCIPintervalMulInf(), and SCIPintervalMulSup().

Referenced by lpUpdateVarColumnProved(), lpUpdateVarLooseProved(), lpUpdateVarProved(), provedBound(), SCIP_DECL_EXPRINTEVAL(), SCIP_DECL_EXPRREVERSEPROP(), SCIPintervalDiv(), SCIPintervalPower(), SCIPintervalQuad(), and SCIPlpGetModifiedProvedPseudoObjval().

◆ SCIPintervalMulScalarInf() ◆ SCIPintervalMulScalarSup() ◆ SCIPintervalMulScalar()

multiplies operand1 with scalar operand2 and stores result in resultant

Parameters
infinity value for infinity resultant resultant interval of operation operand1 first operand of operation operand2 second operand of operation

Definition at line 1115 of file intervalarith.c.

References SCIP_Interval::inf, infinity, intervalGetRoundingMode(), intervalSetRoundingMode(), NULL, SCIP_ROUND_DOWNWARDS, SCIP_ROUND_UPWARDS, SCIPintervalIsEmpty(), SCIPintervalMulScalarInf(), SCIPintervalMulScalarSup(), and SCIP_Interval::sup.

Referenced by computeRangeForBilinearProp(), intevalBilinear(), intEvalQuotient(), nlrowCalcActivityBounds(), reversepropQuotient(), SCIP_DECL_EXPRINTEVAL(), SCIP_DECL_NLHDLRINTEVAL(), SCIP_DECL_NLHDLRREVERSEPROP(), SCIPintervalCos(), SCIPintervalPropagateWeightedSum(), SCIPintervalSin(), and SCIPintervalSolveBivariateQuadExpressionAllScalar().

◆ SCIPintervalDiv()

divides operand1 by operand2 and stores result in resultant

Parameters
infinity value for infinity resultant resultant interval of operation operand1 first operand of operation operand2 second operand of operation

Definition at line 1154 of file intervalarith.c.

References SCIP_Interval::inf, infinity, intervalGetRoundingMode(), intervalSetRoundingMode(), NULL, SCIP_ROUND_DOWNWARDS, SCIP_ROUND_UPWARDS, SCIPintervalIsEmpty(), SCIPintervalMul(), SCIPintervalSet(), and SCIP_Interval::sup.

Referenced by intEvalQuotient(), reversepropQuotient(), and SCIPintervalSolveUnivariateQuadExpression().

◆ SCIPintervalDivScalar()

divides operand1 by scalar operand2 and stores result in resultant

Parameters
infinity value for infinity resultant resultant interval of operation operand1 first operand of operation operand2 second operand of operation

Definition at line 1208 of file intervalarith.c.

References SCIP_Interval::inf, infinity, intervalGetRoundingMode(), intervalSetRoundingMode(), NULL, SCIP_ROUND_DOWNWARDS, SCIP_ROUND_UPWARDS, SCIPintervalIsEmpty(), and SCIP_Interval::sup.

Referenced by computeMaxForBilinearProp(), intEvalQuotient(), propagateBoundsLinExpr(), and SCIPintervalPropagateWeightedSum().

◆ SCIPintervalScalprod()

computes the scalar product of two vectors of intervals and stores result in resultant

Parameters
infinity value for infinity resultant resultant interval of operation length length of vectors operand1 first vector as array of intervals; can have +/-inf entries operand2 second vector as array of intervals; can have +/-inf entries

Definition at line 1311 of file intervalarith.c.

References SCIP_Interval::inf, infinity, intervalGetRoundingMode(), intervalSetRoundingMode(), SCIP_ROUND_DOWNWARDS, SCIP_ROUND_UPWARDS, SCIPintervalAddInf(), SCIPintervalAddSup(), SCIPintervalMulInf(), SCIPintervalMulSup(), SCIPintervalSetEntire(), and SCIP_Interval::sup.

◆ SCIPintervalScalprodScalarsInf() ◆ SCIPintervalScalprodScalarsSup() ◆ SCIPintervalScalprodScalars() ◆ SCIPintervalSquare()

squares operand and stores result in resultant

Parameters
infinity value for infinity resultant resultant interval of operation operand operand of operation

Definition at line 1431 of file intervalarith.c.

References SCIP_Interval::inf, infinity, intervalGetRoundingMode(), intervalSetRoundingMode(), MAX, NULL, SCIP_Real, SCIP_ROUND_DOWNWARDS, SCIP_ROUND_UPWARDS, SCIPintervalIsEmpty(), SCIP_Interval::sup, x, and y.

◆ SCIPintervalSquareRoot()

stores (positive part of) square root of operand in resultant

Attention
we assume a correctly rounded sqrt(double) function when rounding is to nearest
Parameters
infinity value for infinity resultant resultant interval of operation operand operand of operation

Definition at line 1503 of file intervalarith.c.

References SCIP_Interval::inf, infinity, intervalGetRoundingMode(), NULL, SCIP_Real, SCIP_REAL_MAX, SCIP_REAL_MIN, SCIP_ROUND_NEAREST, SCIPintervalIsEmpty(), SCIPintervalSetEmpty(), SCIPnextafter(), and SCIP_Interval::sup.

Referenced by computeMaxForBilinearProp().

◆ SCIPintervalPower()

stores operand1 to the power of operand2 in resultant

uses SCIPintervalPowerScalar if operand2 is a scalar, otherwise computes exp(op2*log(op1))

Parameters
infinity value for infinity resultant resultant interval of operation operand1 first operand of operation operand2 second operand of operation

Definition at line 1564 of file intervalarith.c.

References SCIP_Interval::inf, infinity, NULL, SCIPintervalExp(), SCIPintervalIsEmpty(), SCIPintervalLog(), SCIPintervalMul(), SCIPintervalPowerScalar(), SCIPintervalSet(), SCIPintervalSetBounds(), and SCIP_Interval::sup.

Referenced by SCIPintervalPowerScalarInverse().

◆ SCIPintervalPowerScalar()

stores operand1 to the power of the scalar operand2 in resultant

Attention
we assume a correctly rounded pow(double) function when rounding is to nearest
Parameters
infinity value for infinity resultant resultant interval of operation operand1 first operand of operation operand2 second operand of operation

Definition at line 1903 of file intervalarith.c.

References SCIP_Interval::inf, infinity, intervalGetRoundingMode(), MAX, NULL, SCIP_Bool, SCIP_REAL_MAX, SCIP_REAL_MIN, SCIP_ROUND_NEAREST, SCIPintervalIsEmpty(), SCIPintervalPowerScalarIntegerInf(), SCIPintervalPowerScalarIntegerSup(), SCIPintervalSetEmpty(), SCIPnextafter(), and SCIP_Interval::sup.

Referenced by SCIP_DECL_EXPRINTEVAL(), and SCIPintervalPower().

◆ SCIPintervalPowerScalarScalar() ◆ SCIPintervalPowerScalarIntegerInf() ◆ SCIPintervalPowerScalarIntegerSup() ◆ SCIPintervalPowerScalarInteger()

computes bounds on power of a scalar operand1 to an integer operand2

Both operands need to be finite numbers. Needs to have operand1 ≥ 0 and needs to have operand2 ≥ 0 if operand1 = 0.

Parameters
resultant resultant interval of operation operand1 first operand of operation operand2 second operand of operation

Definition at line 1768 of file intervalarith.c.

References SCIP_Interval::inf, intervalGetRoundingMode(), intervalSetRoundingMode(), negate(), SCIP_Real, SCIP_REAL_MAX, SCIP_ROUND_UPWARDS, SCIPintervalPowerScalarInteger(), SCIPintervalReciprocal(), SCIPintervalSet(), SCIP_Interval::sup, and TRUE.

Referenced by SCIPintervalPowerScalarInteger().

◆ SCIPintervalPowerScalarInverse()

given an interval for the image of a power operation, computes an interval for the origin

That is, for \(y = x^p\) with the exponent \(p\) a given scalar and \(y\) = image a given interval, computes \(x \subseteq \text{basedomain}\) such that \(y \in x^p\) and such that for all \(z \in \text{basedomain} \setminus x: z^p \not \in y\).

Parameters
infinity value for infinity resultant resultant interval of operation basedomain domain of base exponent exponent image interval image of power

Definition at line 2152 of file intervalarith.c.

References EPSISINT, SCIP_Interval::inf, infinity, MAX, MIN, NULL, SCIPintervalIntersect(), SCIPintervalPower(), SCIPintervalReciprocal(), SCIPintervalSetBounds(), SCIPintervalSetEmpty(), SCIPintervalUnify(), and SCIP_Interval::sup.

Referenced by SCIP_DECL_EXPRREVERSEPROP().

◆ SCIPintervalSignPowerScalar()

stores operand1 to the signed power of the scalar positive operand2 in resultant

The signed power of x w.r.t. an exponent n ≥ 0 is given as \(\mathrm{sign}(x) |x|^n\).

Attention
we assume correctly rounded sqrt(double) and pow(double) functions when rounding is to nearest
Parameters
infinity value for infinity resultant resultant interval of operation operand1 first operand of operation operand2 second operand of operation

Definition at line 2233 of file intervalarith.c.

References SCIP_Interval::inf, infinity, intervalGetRoundingMode(), intervalSetRoundingMode(), negate(), NULL, SCIP_REAL_MAX, SCIP_REAL_MIN, SCIP_ROUND_DOWNWARDS, SCIP_ROUND_NEAREST, SCIP_ROUND_UPWARDS, SCIPintervalIsEmpty(), SCIPnextafter(), and SCIP_Interval::sup.

Referenced by SCIP_DECL_EXPRINTEVAL(), and SCIP_DECL_EXPRREVERSEPROP().

◆ SCIPintervalReciprocal()

computes the reciprocal of an interval

Parameters
infinity value for infinity resultant resultant interval of operation operand operand of operation

Definition at line 2405 of file intervalarith.c.

References SCIP_Interval::inf, infinity, intervalGetRoundingMode(), intervalSetRoundingMode(), NULL, SCIP_ROUND_DOWNWARDS, SCIP_ROUND_UPWARDS, SCIPintervalIsEmpty(), and SCIP_Interval::sup.

Referenced by SCIP_DECL_EXPRREVERSEPROP(), SCIPintervalPowerScalarInteger(), and SCIPintervalPowerScalarInverse().

◆ SCIPintervalExp()

stores exponential of operand in resultant

Attention
we assume a correctly rounded exp(double) function when rounding is to nearest
Parameters
infinity value for infinity resultant resultant interval of operation operand operand of operation

Definition at line 2478 of file intervalarith.c.

References SCIP_Interval::inf, infinity, intervalGetRoundingMode(), NULL, SCIP_Real, SCIP_REAL_MAX, SCIP_REAL_MIN, SCIP_ROUND_NEAREST, SCIPintervalIsEmpty(), SCIPnextafter(), and SCIP_Interval::sup.

Referenced by SCIP_DECL_EXPRINTEVAL(), SCIP_DECL_EXPRREVERSEPROP(), and SCIPintervalPower().

◆ SCIPintervalLog()

stores natural logarithm of operand in resultant

Attention
we assume a correctly rounded log(double) function when rounding is to nearest
Parameters
infinity value for infinity resultant resultant interval of operation operand operand of operation

Definition at line 2562 of file intervalarith.c.

References SCIP_Interval::inf, infinity, intervalGetRoundingMode(), NULL, SCIP_Real, SCIP_REAL_MAX, SCIP_REAL_MIN, SCIP_ROUND_NEAREST, SCIPintervalIsEmpty(), SCIPintervalSetEmpty(), SCIPnextafter(), and SCIP_Interval::sup.

Referenced by SCIP_DECL_EXPRINTEVAL(), SCIP_DECL_EXPRREVERSEPROP(), and SCIPintervalPower().

◆ SCIPintervalMin() ◆ SCIPintervalMax() ◆ SCIPintervalAbs() ◆ SCIPintervalSin()

stores sine value of operand in resultant

Parameters
infinity value for infinity resultant resultant interval of operation operand operand of operation

Definition at line 2700 of file intervalarith.c.

References SCIP_Interval::inf, infinity, pi_d_l, pi_d_u, SCIP_Real, SCIPintervalAdd(), SCIPintervalCos(), SCIPintervalMulScalar(), SCIPintervalSetBounds(), SCIPintervalSub(), and SCIP_Interval::sup.

Referenced by SCIP_DECL_EXPRINTEVAL().

◆ SCIPintervalCos()

stores cosine value of operand in resultant

Parameters
infinity value for infinity resultant resultant interval of operation operand operand of operation

Definition at line 2742 of file intervalarith.c.

References SCIP_Interval::inf, infinity, MAX, MIN, NULL, pi_d_l, pi_d_u, SCIP_Real, SCIP_REAL_MAX, SCIP_REAL_MIN, SCIP_ROUND_NEAREST, SCIPdebugMessage, SCIPintervalGetRoundingMode(), SCIPintervalIsEmpty(), SCIPintervalMulScalar(), SCIPintervalSetBounds(), SCIPintervalSetRoundingMode(), SCIPintervalSetRoundingModeDownwards(), SCIPintervalSub(), SCIPnextafter(), and SCIP_Interval::sup.

Referenced by SCIP_DECL_EXPRINTEVAL(), and SCIPintervalSin().

◆ SCIPintervalSign() ◆ SCIPintervalEntropy()

stores entropy of operand in resultant

Parameters
infinity value for infinity resultant resultant interval of operation operand operand of operation

Definition at line 2896 of file intervalarith.c.

References SCIP_Interval::inf, infinity, MAX, MAX3, MIN, NULL, SCIP_Real, SCIP_REAL_MAX, SCIP_REAL_MIN, SCIP_ROUND_NEAREST, SCIPintervalGetRoundingMode(), SCIPintervalIsEmpty(), SCIPintervalSet(), SCIPintervalSetBounds(), SCIPintervalSetEmpty(), SCIPintervalSetRoundingModeToNearest(), SCIPintervalSetRoundingModeUpwards(), SCIPnegateReal(), SCIPnextafter(), and SCIP_Interval::sup.

Referenced by reverseProp(), and SCIP_DECL_EXPRINTEVAL().

◆ SCIPintervalQuadUpperBound()

computes exact upper bound on \( a x^2 + b x \) for x in [xlb, xub], b an interval, and a scalar

Uses Algorithm 2.2 from Domes and Neumaier: Constraint propagation on quadratic constraints (2008).

Parameters
infinity value for infinity a coefficient of x^2 b_ coefficient of x x range of x

Definition at line 2995 of file intervalarith.c.

References a, b, SCIP_Interval::inf, infinity, intervalGetRoundingMode(), intervalSetRoundingMode(), MAX, negate(), SCIP_Real, SCIP_ROUND_UPWARDS, SCIPintervalIsEmpty(), SCIPintervalQuadUpperBound(), SCIP_Interval::sup, and x.

Referenced by SCIP_DECL_NLHDLRINTEVAL(), SCIPintervalQuad(), SCIPintervalQuadUpperBound(), and SCIPintervalSolveBivariateQuadExpressionAllScalar().

◆ SCIPintervalQuad() ◆ SCIPintervalSolveUnivariateQuadExpressionPositive()

computes interval with positive solutions of a quadratic equation with interval coefficients

Given intervals a, b, and c, this function computes an interval that contains all positive solutions of \( a x^2 + b x \in c\) within xbnds.

Parameters
infinity value for infinity resultant resultant interval of operation sqrcoeff coefficient of x^2 lincoeff coefficient of x rhs right hand side of equation xbnds bounds on x

Definition at line 3125 of file intervalarith.c.

References SCIP_Interval::inf, infinity, NULL, SCIPdebugMessage, SCIPdebugPrintf, SCIPintervalIntersect(), SCIPintervalSetEmpty(), SCIPintervalSolveUnivariateQuadExpressionPositiveAllScalar(), and SCIP_Interval::sup.

Referenced by SCIPintervalSolveBivariateQuadExpressionAllScalar(), SCIPintervalSolveUnivariateQuadExpression(), and SCIPintervalSolveUnivariateQuadExpressionNegative().

◆ SCIPintervalSolveUnivariateQuadExpressionNegative() ◆ SCIPintervalSolveUnivariateQuadExpressionPositiveAllScalar()

computes positive solutions of a quadratic equation with scalar coefficients

Givens scalar a, b, and c, this function computes an interval that contains all positive solutions of \( a x^2 + b x \geq c\) within xbnds. Implements Algorithm 3.2 from Domes and Neumaier: Constraint propagation on quadratic constraints (2008).

Parameters
infinity value for infinity resultant resultant interval of operation sqrcoeff coefficient of x^2 lincoeff coefficient of x rhs right hand side of equation xbnds bounds on x

Definition at line 3208 of file intervalarith.c.

References b, SCIP_Interval::inf, infinity, intervalGetRoundingMode(), intervalSetRoundingMode(), MAX, negate(), NULL, SCIP_Real, SCIP_REAL_MAX, SCIP_REAL_MIN, SCIP_ROUND_DOWNWARDS, SCIP_ROUND_NEAREST, SCIP_ROUND_UPWARDS, SCIPintervalIntersect(), SCIPintervalSetEmpty(), SCIPnextafter(), and SCIP_Interval::sup.

Referenced by computeRoot(), findMonoidalQuadRoot(), and SCIPintervalSolveUnivariateQuadExpressionPositive().

◆ SCIPintervalSolveUnivariateQuadExpression()

solves a quadratic equation with interval coefficients

Given intervals a, b and c, this function computes an interval that contains all solutions of \( a x^2 + b x \in c\) within xbnds.

Parameters
infinity value for infinity resultant resultant interval of operation sqrcoeff coefficient of x^2 lincoeff coefficient of x rhs right hand side of equation xbnds bounds on x

Definition at line 3412 of file intervalarith.c.

References SCIP_Interval::inf, infinity, MAX, MIN, NULL, SCIPdebugMessage, SCIPintervalDiv(), SCIPintervalGetInf(), SCIPintervalGetSup(), SCIPintervalIntersect(), SCIPintervalIsEmpty(), SCIPintervalSetEmpty(), SCIPintervalSolveUnivariateQuadExpressionNegative(), SCIPintervalSolveUnivariateQuadExpressionPositive(), SCIPintervalUnify(), and SCIP_Interval::sup.

Referenced by getFeasiblePointsBilinear(), propagateBoundsQuadExpr(), SCIP_DECL_EXPRREVERSEPROP(), and SCIPintervalSolveBivariateQuadExpressionAllScalar().

◆ SCIPintervalQuadBivar()

stores range of bivariate quadratic term in resultant

Given scalars \(a_x\), \(a_y\), \(a_{xy}\), \(b_x\), and \(b_y\) and intervals for \(x\) and \(y\), computes interval for \( a_x x^2 + a_y y^2 + a_{xy} x y + b_x x + b_y y \).

Attention
The operations are not applied rounding-safe here!
Parameters
infinity value for infinity in interval arithmetics resultant buffer where to store result of operation ax square coefficient of x ay square coefficient of y axy bilinear coefficients bx linear coefficient of x by linear coefficient of y xbnds bounds on x ybnds bounds on y

Definition at line 3478 of file intervalarith.c.

References SCIP_Interval::inf, infinity, MAX, MIN, NULL, REALABS, SCIP_Real, SCIPdebugMessage, SCIPintervalAdd(), SCIPintervalAddScalar(), SCIPintervalQuad(), SCIPintervalSet(), SCIPintervalSetBounds(), SCIP_Interval::sup, x, and y.

◆ SCIPintervalSolveBivariateQuadExpressionAllScalar()

solves a bivariate quadratic equation for the first variable

Given scalars \(a_x\), \(a_y\), \(a_{xy}\), \(b_x\) and \(b_y\), and intervals for \(x\), \(y\), and rhs, computes \( \{ x \in \mathbf{x} : \exists y \in \mathbf{y} : a_x x^2 + a_y y^2 + a_{xy} x y + b_x x + b_y y \in \mathbf{\mbox{rhs}} \} \).

Attention
the operations are not applied rounding-safe here
Parameters
infinity value for infinity in interval arithmetics resultant buffer where to store result of operation ax square coefficient of x ay square coefficient of y axy bilinear coefficients bx linear coefficient of x by linear coefficient of y rhs right-hand-side of equation xbnds bounds on x ybnds bounds on y

Definition at line 3739 of file intervalarith.c.

References b, CALCB, CALCR, EPSGE, EPSGT, EPSLE, EPSLT, EPSN, EPSZ, SCIP_Interval::inf, infinity, MAX, MIN, NULL, REALABS, SCIP_Real, SCIPintervalAddScalar(), SCIPintervalIntersect(), SCIPintervalIsEmpty(), SCIPintervalMulScalar(), SCIPintervalQuad(), SCIPintervalQuadUpperBound(), SCIPintervalSet(), SCIPintervalSetBounds(), SCIPintervalSetEmpty(), SCIPintervalSolveBivariateQuadExpressionAllScalar(), SCIPintervalSolveUnivariateQuadExpression(), SCIPintervalSolveUnivariateQuadExpressionNegative(), SCIPintervalSolveUnivariateQuadExpressionPositive(), SCIPintervalSub(), SCIPintervalUnify(), and SCIP_Interval::sup.

Referenced by SCIPintervalSolveBivariateQuadExpressionAllScalar().

◆ SCIPintervalPropagateWeightedSum()

propagates a weighted sum of intervals in a given interval

Given \(\text{constant} + \sum_i \text{weights}_i \text{operands}_i \in \text{rhs}\), computes possibly tighter interval for each term.

Attention
Valid values are returned in resultants only if any tightening has been found and no empty interval, that is, function returns with non-zero and *infeasible = FALSE.
Returns
Number of terms for which resulting interval is smaller than operand interval.
Parameters
infinity value for infinity in interval arithmetics noperands number of operands (intervals) to propagate operands intervals to propagate weights weights of intervals in sum constant constant in sum rhs right-hand-side interval resultants array to store propagated intervals, if any reduction is found at all (check return code and *infeasible) infeasible buffer to store if propagation produced empty interval

Definition at line 4625 of file intervalarith.c.

References BMScopyMemoryArray, FALSE, SCIP_Interval::inf, infinity, NULL, SCIP_Real, SCIPdebugMessage, SCIPdebugPrintf, SCIPintervalDivScalar(), SCIPintervalGetRoundingMode(), SCIPintervalIntersect(), SCIPintervalIsEmpty(), SCIPintervalIsEntire(), SCIPintervalMulScalar(), SCIPintervalNegateReal(), SCIPintervalSetEntire(), SCIPintervalSetRoundingMode(), SCIPintervalSetRoundingModeDownwards(), SCIP_Interval::sup, and TRUE.

Referenced by reversePropagateLinearExpr(), and SCIP_DECL_EXPRREVERSEPROP().


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4