Detailed Description
defines macros for basic operations in double-double arithmetic giving roughly twice the precision of a double
Definition in file dbldblarith.h.
#include "math.h"
Go to the source code of this file.
Macro Definition Documentation
◆ QUAD_EPSILON
#define QUAD_EPSILON 1e-12 |
Definition at line 33 of file dbldblarith.h.
Referenced by checkDualFeasibility(), chgCoeffWithBound(), chgQuadCoeffWithBound(), constructSNFRelaxation(), cutsRoundMIR(), cutsRoundStrongCG(), cutsSubstituteMIR(), cutsSubstituteStrongCG(), cutsTransformKnapsackCover(), cutsTransformMIR(), cutsTransformStrongCG(), determineBoundForSNF(), evaluateLiftingFunctionKnapsack(), getClosestVlb(), getClosestVub(), removeZeros(), removeZerosQuad(), and SCIPcutGenerationHeuristicCMIR().
◆ QUAD_HI
Definition at line 36 of file dbldblarith.h.
Referenced by buildFlowCover(), cutsRoundMIR(), cutsRoundStrongCG(), cutsSubstituteMIR(), cutsSubstituteStrongCG(), evaluateLiftingFunction(), performBoundSubstitution(), postprocessCutQuad(), SCIPaggrRowAddCustomCons(), SCIPaggrRowAddObjectiveFunction(), SCIPaggrRowCancelVarWithBound(), SCIPcalcKnapsackCover(), SCIPcalcMIR(), SCIPcalcStrongCG(), SCIPcutGenerationHeuristicCMIR(), and varVecAddScaledRowCoefsQuad().
◆ QUAD_LO
Definition at line 37 of file dbldblarith.h.
Referenced by SCIPcalcMIR(), SCIPcalcStrongCG(), and SCIPcutGenerationHeuristicCMIR().
◆ QUAD
Definition at line 38 of file dbldblarith.h.
Referenced by addCand(), aggrRowGetMinActivity(), buildFlowCover(), calcEfficacyDenseStorageQuad(), calcEfficacyNormQuad(), chgCoeffWithBound(), chgQuadCoeffWithBound(), computeBilinEnvelope2(), computeInitialKnapsackCover(), computeLiftingData(), constructSNFRelaxation(), cutsRoundMIR(), cutsRoundStrongCG(), cutsSubstituteMIR(), cutsSubstituteStrongCG(), cutsTransformKnapsackCover(), cutsTransformMIR(), cutsTransformStrongCG(), cutTightenCoefs(), cutTightenCoefsQuad(), determineBoundForSNF(), estimateGradient(), evalPhiAtRay(), evaluateLiftingFunction(), evaluateLiftingFunctionKnapsack(), generateLiftedFlowCoverCut(), getAlphaAndBeta(), getClosestVlb(), getClosestVub(), getFlowCover(), getMaxActivity(), getMinActivity(), performBoundSubstitution(), performBoundSubstitutionSimple(), postprocessCut(), postprocessCutQuad(), prepareLiftingData(), propagateCons(), propagateCutoffboundVar(), removeZerosQuad(), resolvePropagation(), SCIP_DECL_SORTINDCOMP(), SCIPaggrRowAddCustomCons(), SCIPaggrRowAddObjectiveFunction(), SCIPaggrRowCancelVarWithBound(), SCIPaggrRowClear(), SCIPaggrRowGetProbvarValue(), SCIPaggrRowGetValue(), SCIPaggrRowPrint(), SCIPaggrRowRemoveZeros(), SCIPcalcFlowCover(), SCIPcalcKnapsackCover(), SCIPcalcMIR(), SCIPcalcStrongCG(), SCIPcomputeBilinEnvelope1(), SCIPcutGenerationHeuristicCMIR(), SCIPcutsTightenCoefficients(), separateCons(), SORTTPL_NAME(), undoBdchgsProof(), and varVecAddScaledRowCoefsQuad().
◆ QUAD_MEMBER
◆ QUAD_TO_DBL
Definition at line 40 of file dbldblarith.h.
Referenced by addCand(), aggrRowGetMinActivity(), buildFlowCover(), calcEfficacyDenseStorageQuad(), calcEfficacyNormQuad(), chgCoeffWithBound(), chgQuadCoeffWithBound(), computeBilinEnvelope2(), computeInitialKnapsackCover(), computeLiftingData(), constructSNFRelaxation(), cutsRoundMIR(), cutsRoundStrongCG(), cutsSubstituteMIR(), cutsSubstituteStrongCG(), cutsTransformKnapsackCover(), cutsTransformMIR(), cutsTransformStrongCG(), cutTightenCoefs(), cutTightenCoefsQuad(), determineBoundForSNF(), estimateGradient(), evalPhiAtRay(), evaluateLiftingFunction(), evaluateLiftingFunctionKnapsack(), generateLiftedFlowCoverCut(), getAlphaAndBeta(), getClosestVlb(), getClosestVub(), getFlowCover(), getMaxActivity(), getMinActivity(), postprocessCut(), postprocessCutQuad(), prepareLiftingData(), propagateCons(), propagateCutoffboundVar(), removeZeros(), removeZerosQuad(), resolvePropagation(), SCIP_DECL_SORTINDCOMP(), SCIPaggrRowCancelVarWithBound(), SCIPaggrRowGetProbvarValue(), SCIPaggrRowGetRhs(), SCIPaggrRowGetValue(), SCIPaggrRowPrint(), SCIPcalcFlowCover(), SCIPcalcKnapsackCover(), SCIPcalcMIR(), SCIPcalcStrongCG(), SCIPcomputeBilinEnvelope1(), SCIPcutGenerationHeuristicCMIR(), SCIPcutsTightenCoefficients(), separateCons(), SORTTPL_NAME(), and undoBdchgsProof().
◆ QUAD_SCALE
Definition at line 41 of file dbldblarith.h.
Referenced by cutsRoundMIR(), cutsRoundStrongCG(), cutsTransformMIR(), evalPhiAtRay(), and SCIPcomputeBilinEnvelope1().
◆ QUAD_ASSIGN
Definition at line 42 of file dbldblarith.h.
Referenced by aggrRowGetMinActivity(), buildFlowCover(), computeInitialKnapsackCover(), computeLiftingData(), cutsRoundMIR(), cutsRoundStrongCG(), cutsSubstituteMIR(), cutsSubstituteStrongCG(), cutsTransformKnapsackCover(), cutsTransformMIR(), cutsTransformStrongCG(), cutTightenCoefs(), cutTightenCoefsQuad(), estimateGradient(), evalPhiAtRay(), evaluateLiftingFunction(), generateLiftedFlowCoverCut(), getFlowCover(), getMaxActivity(), getMinActivity(), postprocessCut(), prepareLiftingData(), removeZeros(), removeZerosQuad(), resolvePropagation(), SCIPaggrRowAddObjectiveFunction(), SCIPaggrRowCancelVarWithBound(), SCIPaggrRowClear(), SCIPaggrRowCreate(), SCIPcalcFlowCover(), SCIPcalcKnapsackCover(), SCIPcalcMIR(), SCIPcalcStrongCG(), SCIPcutGenerationHeuristicCMIR(), SCIPcutsTightenCoefficients(), and SORTTPL_NAME().
◆ QUAD_ASSIGN_Q
Definition at line 43 of file dbldblarith.h.
Referenced by buildFlowCover(), constructSNFRelaxation(), cutsRoundMIR(), cutsRoundStrongCG(), cutTightenCoefs(), cutTightenCoefsQuad(), prepareLiftingData(), SCIPaggrRowCopy(), SCIPcalcKnapsackCover(), SCIPcalcMIR(), SCIPcalcStrongCG(), and SCIPcutGenerationHeuristicCMIR().
◆ QUAD_ARRAY_SIZE
#define QUAD_ARRAY_SIZE | ( | size | ) | ((size)*2) |
Definition at line 44 of file dbldblarith.h.
Referenced by SCIPaggrRowCopy(), SCIPaggrRowCreate(), SCIPaggrRowFree(), SCIPcalcKnapsackCover(), SCIPcalcMIR(), SCIPcalcStrongCG(), and SCIPcutGenerationHeuristicCMIR().
◆ QUAD_ARRAY_LOAD
#define QUAD_ARRAY_LOAD | ( | r, | |
a, | |||
idx | |||
) | do { QUAD_HI(r) = (a)[2*(idx)]; QUAD_LO(r) = (a)[2*(idx) + 1]; } while(0) |
Definition at line 45 of file dbldblarith.h.
Referenced by calcEfficacyDenseStorageQuad(), calcEfficacyNormQuad(), computeInitialKnapsackCover(), constructSNFRelaxation(), cutsRoundMIR(), cutsRoundStrongCG(), cutsTransformKnapsackCover(), cutsTransformMIR(), cutsTransformStrongCG(), cutTightenCoefsQuad(), determineBoundForSNF(), getClosestVlb(), getClosestVub(), performBoundSubstitution(), performBoundSubstitutionSimple(), postprocessCutQuad(), prepareLiftingData(), removeZerosQuad(), SCIP_DECL_SORTINDCOMP(), SCIPaggrRowAddCustomCons(), SCIPaggrRowAddObjectiveFunction(), SCIPaggrRowCancelVarWithBound(), SCIPaggrRowGetProbvarValue(), SCIPaggrRowGetValue(), SCIPaggrRowPrint(), SCIPcalcKnapsackCover(), SCIPcalcMIR(), SCIPcalcStrongCG(), SCIPcutGenerationHeuristicCMIR(), and varVecAddScaledRowCoefsQuad().
◆ QUAD_ARRAY_STORE
#define QUAD_ARRAY_STORE | ( | a, | |
idx, | |||
x | |||
) | do { (a)[2*(idx)] = QUAD_HI(x); (a)[2*(idx) + 1] = QUAD_LO(x); } while(0) |
Definition at line 46 of file dbldblarith.h.
Referenced by cutsRoundMIR(), cutsRoundStrongCG(), cutsTransformKnapsackCover(), cutsTransformMIR(), cutsTransformStrongCG(), cutTightenCoefsQuad(), performBoundSubstitution(), removeZerosQuad(), SCIPaggrRowAddCustomCons(), SCIPaggrRowAddObjectiveFunction(), SCIPaggrRowCancelVarWithBound(), SCIPaggrRowClear(), SCIPcalcKnapsackCover(), SCIPcalcMIR(), SCIPcalcStrongCG(), SCIPcutGenerationHeuristicCMIR(), and varVecAddScaledRowCoefsQuad().
◆ SCIPquadprecProdDD
Definition at line 49 of file dbldblarith.h.
Referenced by aggrRowGetMinActivity(), computeBilinEnvelope2(), cutsSubstituteStrongCG(), evalPhiAtRay(), evaluateLiftingFunction(), getAlphaAndBeta(), getMaxActivity(), getMinActivity(), propagateCons(), resolvePropagation(), SCIPcomputeBilinEnvelope1(), and separateCons().
◆ SCIPquadprecSquareD
Definition at line 50 of file dbldblarith.h.
Referenced by evalPhiAtRay().
◆ SCIPquadprecSumDD
Definition at line 51 of file dbldblarith.h.
Referenced by addCand(), chgCoeffWithBound(), computeBilinEnvelope2(), constructSNFRelaxation(), cutsSubstituteMIR(), cutsTransformMIR(), evaluateLiftingFunction(), generateLiftedFlowCoverCut(), propagateCons(), propagateCutoffboundVar(), resolvePropagation(), SCIPcalcMIR(), SCIPcalcStrongCG(), SCIPcomputeBilinEnvelope1(), SCIPcutGenerationHeuristicCMIR(), SCIPcutsTightenCoefficients(), and undoBdchgsProof().
◆ SCIPquadprecDivDD
Definition at line 52 of file dbldblarith.h.
Referenced by cutsRoundStrongCG(), cutsSubstituteStrongCG(), and SCIPcomputeBilinEnvelope1().
◆ SCIPquadprecSumQD
#define SCIPquadprecSumQD | ( | r, | |
a, | |||
b | |||
) | SCIPdbldblSum21(QUAD_HI(r), QUAD_LO(r), QUAD_HI(a), QUAD_LO(a), b) |
Definition at line 53 of file dbldblarith.h.
Referenced by addOneRow(), buildFlowCover(), chgQuadCoeffWithBound(), computeBilinEnvelope2(), computeLiftingData(), cutsRoundMIR(), cutsRoundStrongCG(), cutsSubstituteMIR(), cutsSubstituteStrongCG(), cutTightenCoefs(), estimateGradient(), evalPhiAtRay(), evaluateLiftingFunction(), evaluateLiftingFunctionKnapsack(), generateLiftedFlowCoverCut(), getAlphaAndBeta(), getFlowCover(), propagateCons(), propagateCutoffboundVar(), removeZeros(), resolvePropagation(), SCIPaggrRowAddCustomCons(), SCIPaggrRowAddObjectiveFunction(), SCIPaggrRowAddRow(), SCIPcalcKnapsackCover(), SCIPcomputeBilinEnvelope1(), SCIPcutGenerationHeuristicCMIR(), SCIPcutsTightenCoefficients(), separateCons(), SORTTPL_NAME(), and varVecAddScaledRowCoefsQuad().
◆ SCIPquadprecProdQD
#define SCIPquadprecProdQD | ( | r, | |
a, | |||
b | |||
) | SCIPdbldblProd21(QUAD_HI(r), QUAD_LO(r), QUAD_HI(a), QUAD_LO(a), b) |
Definition at line 54 of file dbldblarith.h.
Referenced by addCand(), chgCoeffWithBound(), chgQuadCoeffWithBound(), computeBilinEnvelope2(), constructSNFRelaxation(), cutsRoundMIR(), cutsRoundStrongCG(), cutsSubstituteMIR(), cutsSubstituteStrongCG(), cutTightenCoefs(), cutTightenCoefsQuad(), evalPhiAtRay(), performBoundSubstitution(), performBoundSubstitutionSimple(), prepareLiftingData(), removeZerosQuad(), resolvePropagation(), SCIPaggrRowCancelVarWithBound(), SCIPcalcMIR(), SCIPcalcStrongCG(), SCIPcomputeBilinEnvelope1(), SCIPcutGenerationHeuristicCMIR(), SCIPcutsTightenCoefficients(), and undoBdchgsProof().
◆ SCIPquadprecDivDQ
#define SCIPquadprecDivDQ | ( | r, | |
a, | |||
b | |||
) | SCIPdbldblDiv12(QUAD_HI(r), QUAD_LO(r), a, QUAD_HI(b), QUAD_LO(b)) |
Definition at line 55 of file dbldblarith.h.
Referenced by cutsRoundMIR(), cutsRoundStrongCG(), cutsSubstituteMIR(), cutsSubstituteStrongCG(), prepareLiftingData(), and SCIPcalcStrongCG().
◆ SCIPquadprecDivQD
#define SCIPquadprecDivQD | ( | r, | |
a, | |||
b | |||
) | SCIPdbldblDiv21(QUAD_HI(r), QUAD_LO(r), QUAD_HI(a), QUAD_LO(a), b) |
Definition at line 56 of file dbldblarith.h.
Referenced by computeBilinEnvelope2(), propagateCons(), propagateCutoffboundVar(), and resolvePropagation().
◆ SCIPquadprecProdQQ
#define SCIPquadprecProdQQ | ( | r, | |
a, | |||
b | |||
) | SCIPdbldblProd22(QUAD_HI(r), QUAD_LO(r), QUAD_HI(a), QUAD_LO(a), QUAD_HI(b), QUAD_LO(b)) |
Definition at line 57 of file dbldblarith.h.
Referenced by constructSNFRelaxation(), cutsRoundMIR(), cutsRoundStrongCG(), cutsSubstituteMIR(), cutsSubstituteStrongCG(), cutsTransformMIR(), evaluateLiftingFunctionKnapsack(), and SCIPcomputeBilinEnvelope1().
◆ SCIPquadprecSumQQ
#define SCIPquadprecSumQQ | ( | r, | |
a, | |||
b | |||
) | SCIPdbldblSum22(QUAD_HI(r), QUAD_LO(r), QUAD_HI(a), QUAD_LO(a), QUAD_HI(b), QUAD_LO(b)) |
Definition at line 58 of file dbldblarith.h.
Referenced by aggrRowGetMinActivity(), chgCoeffWithBound(), chgQuadCoeffWithBound(), computeBilinEnvelope2(), computeInitialKnapsackCover(), computeLiftingData(), constructSNFRelaxation(), cutsRoundMIR(), cutsRoundStrongCG(), cutsSubstituteMIR(), cutsSubstituteStrongCG(), cutsTransformMIR(), cutTightenCoefs(), cutTightenCoefsQuad(), evalPhiAtRay(), generateLiftedFlowCoverCut(), getMaxActivity(), getMinActivity(), performBoundSubstitution(), performBoundSubstitutionSimple(), prepareLiftingData(), removeZerosQuad(), resolvePropagation(), SCIPaggrRowCancelVarWithBound(), SCIPcalcMIR(), SCIPcalcStrongCG(), SCIPcomputeBilinEnvelope1(), SCIPcutGenerationHeuristicCMIR(), and SCIPcutsTightenCoefficients().
◆ SCIPquadprecSquareQ
#define SCIPquadprecSquareQ | ( | r, | |
a | |||
) | SCIPdbldblSquare2(QUAD_HI(r), QUAD_LO(r), QUAD_HI(a), QUAD_LO(a)) |
Definition at line 59 of file dbldblarith.h.
Referenced by computeBilinEnvelope2(), and SCIPcomputeBilinEnvelope1().
◆ SCIPquadprecDivQQ
#define SCIPquadprecDivQQ | ( | r, | |
a, | |||
b | |||
) | SCIPdbldblDiv22(QUAD_HI(r), QUAD_LO(r), QUAD_HI(a), QUAD_LO(a), QUAD_HI(b), QUAD_LO(b)) |
Definition at line 60 of file dbldblarith.h.
Referenced by computeBilinEnvelope2(), and SCIPcomputeBilinEnvelope1().
◆ SCIPquadprecSqrtD
Definition at line 61 of file dbldblarith.h.
◆ SCIPquadprecSqrtQ
Definition at line 62 of file dbldblarith.h.
Referenced by computeBilinEnvelope2(), and evalPhiAtRay().
◆ SCIPquadprecAbsQ
Definition at line 63 of file dbldblarith.h.
◆ SCIPquadprecFloorQ
#define SCIPquadprecFloorQ | ( | r, | |
a | |||
) | SCIPdbldblFloor2(QUAD_HI(r), QUAD_LO(r), QUAD_HI(a), QUAD_LO(a)) |
Definition at line 64 of file dbldblarith.h.
◆ SCIPquadprecCeilQ
Definition at line 65 of file dbldblarith.h.
◆ SCIPquadprecEpsFloorQ
#define SCIPquadprecEpsFloorQ | ( | r, | |
a, | |||
eps | |||
) | SCIPdbldblEpsFloor2(QUAD_HI(r), QUAD_LO(r), QUAD_HI(a), QUAD_LO(a), eps) |
Definition at line 66 of file dbldblarith.h.
Referenced by cutsRoundMIR(), cutsRoundStrongCG(), cutTightenCoefs(), cutTightenCoefsQuad(), SCIPcalcMIR(), SCIPcalcStrongCG(), and SCIPcutGenerationHeuristicCMIR().
◆ SCIPquadprecEpsCeilQ
#define SCIPquadprecEpsCeilQ | ( | r, | |
a, | |||
eps | |||
) | SCIPdbldblEpsCeil2(QUAD_HI(r), QUAD_LO(r), QUAD_HI(a), QUAD_LO(a), eps) |
Definition at line 67 of file dbldblarith.h.
◆ SCIPdbldblProd
multiply two floating point numbers, both given by one double, and return the result as two doubles.
Definition at line 117 of file dbldblarith.h.
◆ SCIPdbldblSquare
#define SCIPdbldblSquare | ( | rhi, | |
rlo, | |||
a | |||
) |
square a floating point number given by one double and return the result as two doubles.
Definition at line 133 of file dbldblarith.h.
◆ SCIPdbldblSum
add two floating point numbers, both given by one double, and return the result as two doubles.
Definition at line 145 of file dbldblarith.h.
◆ SCIPdbldblDiv
divide two floating point numbers, both given by one double, and return the result as two doubles.
Definition at line 156 of file dbldblarith.h.
◆ SCIPdbldblSum21
#define SCIPdbldblSum21 | ( | rhi, | |
rlo, | |||
ahi, | |||
alo, | |||
b | |||
) |
add two floating point numbers, the first is given by two doubles, the second is given by one double, and return the result as two doubles.
Definition at line 171 of file dbldblarith.h.
◆ SCIPdbldblProd21
#define SCIPdbldblProd21 | ( | rhi, | |
rlo, | |||
ahi, | |||
alo, | |||
b | |||
) |
multiply two floating point numbers, the first is given by two doubles, the second is given by one double, and return the result as two doubles.
Definition at line 184 of file dbldblarith.h.
◆ SCIPdbldblDiv12
#define SCIPdbldblDiv12 | ( | rhi, | |
rlo, | |||
a, | |||
bhi, | |||
blo | |||
) |
divide two floating point numbers, the first is given by one double, the second is given by two doubles, and return the result as two doubles.
Definition at line 196 of file dbldblarith.h.
◆ SCIPdbldblDiv21
#define SCIPdbldblDiv21 | ( | rhi, | |
rlo, | |||
ahi, | |||
alo, | |||
b | |||
) |
divide two floating point numbers, the first is given by two doubles, the second is given by one double, and return the result as two doubles.
Definition at line 212 of file dbldblarith.h.
◆ SCIPdbldblProd22
#define SCIPdbldblProd22 | ( | rhi, | |
rlo, | |||
ahi, | |||
alo, | |||
bhi, | |||
blo | |||
) |
multiply two floating point numbers, both given by two doubles, and return the result as two doubles.
Definition at line 228 of file dbldblarith.h.
◆ SCIPdbldblSum22
#define SCIPdbldblSum22 | ( | rhi, | |
rlo, | |||
ahi, | |||
alo, | |||
bhi, | |||
blo | |||
) |
add two floating point numbers, both given by two doubles, and return the result as two doubles.
Definition at line 240 of file dbldblarith.h.
◆ SCIPdbldblSquare2
#define SCIPdbldblSquare2 | ( | rhi, | |
rlo, | |||
ahi, | |||
alo | |||
) |
square a floating point number given by two doubles and return the result as two doubles.
Definition at line 249 of file dbldblarith.h.
◆ SCIPdbldblDiv22
#define SCIPdbldblDiv22 | ( | rhi, | |
rlo, | |||
ahi, | |||
alo, | |||
bhi, | |||
blo | |||
) |
divide two floating point numbers, both given by two doubles, and return the result as two doubles.
Definition at line 258 of file dbldblarith.h.
◆ SCIPdbldblSqrt
#define SCIPdbldblSqrt | ( | rhi, | |
rlo, | |||
a | |||
) |
take the square root of a floating point number given by one double and return the result as two doubles.
Definition at line 276 of file dbldblarith.h.
◆ SCIPdbldblSqrt2
#define SCIPdbldblSqrt2 | ( | rhi, | |
rlo, | |||
ahi, | |||
alo | |||
) |
take the square root of a floating point number given by two doubles and return the result as two doubles.
Definition at line 295 of file dbldblarith.h.
◆ SCIPdbldblAbs2
#define SCIPdbldblAbs2 | ( | rhi, | |
rlo, | |||
ahi, | |||
alo | |||
) |
compute the absolute value of the floating point number given by two doubles
Definition at line 313 of file dbldblarith.h.
◆ SCIPdbldblFloor2
#define SCIPdbldblFloor2 | ( | rhi, | |
rlo, | |||
ahi, | |||
alo | |||
) |
compute the floored value of the floating point number given by two doubles
Definition at line 328 of file dbldblarith.h.
◆ SCIPdbldblCeil2
#define SCIPdbldblCeil2 | ( | rhi, | |
rlo, | |||
ahi, | |||
alo | |||
) |
compute the ceiled value of the floating point number given by two doubles
Definition at line 348 of file dbldblarith.h.
◆ SCIPdbldblEpsFloor2
#define SCIPdbldblEpsFloor2 | ( | rhi, | |
rlo, | |||
ahi, | |||
alo, | |||
eps | |||
) | SCIPdbldblFloor2(rhi, rlo, ahi, (alo) + (eps)) |
compute the floored value of the floating point number given by two doubles, add epsilon first for safety
Definition at line 368 of file dbldblarith.h.
◆ SCIPdbldblEpsCeil2
#define SCIPdbldblEpsCeil2 | ( | rhi, | |
rlo, | |||
ahi, | |||
alo, | |||
eps | |||
) | SCIPdbldblCeil2(rhi, rlo, ahi, (alo) - (eps)) |
compute the ceiled value of the floating point number given by two doubles, subtract epsilon first for safety
Definition at line 371 of file dbldblarith.h.