Detailed Description
multi-level distance storage methods for Steiner tree extended reductions
This file implements utility methods for Steiner tree problem extended reduction techniques that allow use to store and retrieve (special) distances between vertices of the extension tree.
A list of all interface methods can be found in extreduce.h.
Definition in file extreduce_mldists.c.
Go to the source code of this file.
Data Structures | |
struct | multi_level_distances_storage |
Macros | |
#define | MLDISTS_EMPTYSLOT_NONE -1 |
Macro Definition Documentation
◆ MLDISTS_EMPTYSLOT_NONE
#define MLDISTS_EMPTYSLOT_NONE -1 |
Definition at line 36 of file extreduce_mldists.c.
Referenced by extreduce_mldistsEmptySlotExists(), extreduce_mldistsEmptySlotSetFilled(), extreduce_mldistsInit(), extreduce_mldistsLevelCloseTop(), and extreduce_mldistsLevelRemoveTopNonClosed().
Function Documentation
◆ mldistsGetTopLevel()
|
inlinestatic |
gets current level
- Parameters
-
mldists multi-level distances
Definition at line 72 of file extreduce_mldists.c.
References multi_level_distances_storage::maxnlevels, and multi_level_distances_storage::nlevels.
Referenced by extreduce_mldistsEmptySlotLevel(), extreduce_mldistsEmptySlotReset(), extreduce_mldistsEmptySlotSetBase(), extreduce_mldistsEmptySlotSetFilled(), extreduce_mldistsEmptySlotTargetDists(), extreduce_mldistsEmptySlotTargetIds(), extreduce_mldistsLevelContainsBase(), extreduce_mldistsLevelNSlots(), extreduce_mldistsLevelNTargets(), extreduce_mldistsLevelNTopTargets(), extreduce_mldistsTargetDist(), extreduce_mldistsTopLevelBases(), extreduce_mldistsTopTargetDist(), extreduce_mldistsTopTargetDists(), extreduce_mldistsTopTargetIds(), mldistsGetPosBase(), mldistsGetPosBasesEnd(), mldistsGetPosBasesStart(), mldistsGetPosEmptyTargetsStart(), and mldistsGetPosTargetsStart().
◆ mldistsGetPosBasesStart()
|
inlinestatic |
gets start of bases
- Parameters
-
mldists multi-level distances level the level
Definition at line 85 of file extreduce_mldists.c.
References multi_level_distances_storage::level_basestart, multi_level_distances_storage::maxnslots, and mldistsGetTopLevel().
Referenced by extreduce_mldistsTopLevelBases(), and mldistsGetPosBase().
◆ mldistsGetPosBasesEnd()
|
inlinestatic |
gets start of bases
- Parameters
-
mldists multi-level distances level the level
Definition at line 99 of file extreduce_mldists.c.
References multi_level_distances_storage::level_basestart, multi_level_distances_storage::maxnslots, and mldistsGetTopLevel().
Referenced by mldistsGetPosBase().
◆ mldistsGetPosBase()
|
static |
Gets (internal) position of given base id, or -1 if it could not be found.
- Parameters
-
mldists multi-level distances level level baseid the base id
Definition at line 114 of file extreduce_mldists.c.
References multi_level_distances_storage::base_ids, multi_level_distances_storage::emptyslot_number, extreduce_mldistsEmptySlotExists(), mldistsGetPosBasesEnd(), mldistsGetPosBasesStart(), mldistsGetTopLevel(), and STP_MLDISTS_ID_EMPTY.
Referenced by extreduce_mldistsLevelContainsBase(), and mldistsGetPosTargetsStart().
◆ mldistsGetPosTargetsStart()
|
inlinestatic |
gets (internal) position of targets for given base id
- Parameters
-
mldists multi-level distances level level baseid the base id
Definition at line 160 of file extreduce_mldists.c.
References extreduce_mldistsLevelContainsBase(), multi_level_distances_storage::level_basestart, multi_level_distances_storage::level_ntargets, multi_level_distances_storage::level_targetstart, multi_level_distances_storage::maxntargets, mldistsGetPosBase(), and mldistsGetTopLevel().
Referenced by extreduce_mldistsTargetDists(), extreduce_mldistsTargetIds(), extreduce_mldistsTopTargetDists(), and mldistsGetPosTargets().
◆ mldistsGetPosTargets()
|
inlinestatic |
gets (internal) position of targets for given base id and target id
- Parameters
-
mldists multi-level distances level level baseid the base id targetid the target id
Definition at line 189 of file extreduce_mldists.c.
References multi_level_distances_storage::level_ntargets, mldistsGetPosTargetsStart(), multi_level_distances_storage::target_ids, and multi_level_distances_storage::target_withids.
Referenced by extreduce_mldistsTargetDist(), and extreduce_mldistsTopTargetDist().
◆ mldistsGetPosEmptyTargetsStart()
|
inlinestatic |
gets targets start of current empty slot
- Parameters
-
mldists multi-level distances
Definition at line 219 of file extreduce_mldists.c.
References multi_level_distances_storage::emptyslot_number, extreduce_mldistsEmptySlotExists(), multi_level_distances_storage::level_maxntargets, multi_level_distances_storage::level_ntargets, multi_level_distances_storage::level_targetstart, multi_level_distances_storage::maxntargets, and mldistsGetTopLevel().
Referenced by extreduce_mldistsEmptySlotReset(), extreduce_mldistsEmptySlotTargetDists(), extreduce_mldistsEmptySlotTargetDistsDirty(), extreduce_mldistsEmptySlotTargetIds(), and extreduce_mldistsEmptySlotTargetIdsDirty().
◆ mldistsTopLevelUnset()
|
inlinestatic |
only for debugging
- Parameters
-
mldists multi-level distances
Definition at line 238 of file extreduce_mldists.c.
References multi_level_distances_storage::base_ids, multi_level_distances_storage::level_basestart, multi_level_distances_storage::level_targetstart, multi_level_distances_storage::maxnslots, multi_level_distances_storage::maxntargets, multi_level_distances_storage::nlevels, STP_MLDISTS_DIST_UNSET, STP_MLDISTS_ID_UNSET, multi_level_distances_storage::target_dists, multi_level_distances_storage::target_ids, and multi_level_distances_storage::target_withids.
Referenced by extreduce_mldistsLevelAddTop(), extreduce_mldistsLevelRemoveTop(), and extreduce_mldistsLevelRemoveTopNonClosed().
◆ extreduce_mldistsInit()
SCIP_RETCODE extreduce_mldistsInit | ( | SCIP * | scip, |
int | maxnlevels, | ||
int | maxnslots, | ||
int | maxntargets, | ||
int | emptyslot_nbuffers, | ||
SCIP_Bool | use_targetids, | ||
MLDISTS ** | mldistances | ||
) |
initializes multi-level distances structure
- Parameters
-
scip SCIP maxnlevels maximum number of levels that can be handled maxnslots maximum number of of slots (per level) that can be handled maxntargets maximum number of of targets (per slot) that can be handled emptyslot_nbuffers buffer entries for empty slot (dists and IDs array is that much longer) use_targetids use target IDs? mldistances to be initialized
Definition at line 291 of file extreduce_mldists.c.
References multi_level_distances_storage::base_ids, multi_level_distances_storage::emptyslot_number, multi_level_distances_storage::level_basestart, multi_level_distances_storage::level_maxnslots, multi_level_distances_storage::level_maxntargets, multi_level_distances_storage::level_ntargets, multi_level_distances_storage::level_targetstart, multi_level_distances_storage::maxnlevels, multi_level_distances_storage::maxnslots, multi_level_distances_storage::maxntargets, MLDISTS_EMPTYSLOT_NONE, multi_level_distances_storage::nlevels, NULL, SCIP_CALL, SCIP_OKAY, SCIPallocMemory, SCIPallocMemoryArray, multi_level_distances_storage::target_dists, multi_level_distances_storage::target_ids, and multi_level_distances_storage::target_withids.
Referenced by extreduce_extPermaAddMLdistsbiased(), extreduce_extPermaInit(), and testMldistsBuilding().
◆ extreduce_mldistsFree()
frees multi-level distances structure
- Parameters
-
scip SCIP mldistances to be freed
Definition at line 344 of file extreduce_mldists.c.
References multi_level_distances_storage::base_ids, multi_level_distances_storage::level_basestart, multi_level_distances_storage::level_ntargets, multi_level_distances_storage::level_targetstart, SCIPfreeMemory, SCIPfreeMemoryArray, multi_level_distances_storage::target_dists, multi_level_distances_storage::target_ids, and multi_level_distances_storage::target_withids.
Referenced by extreduce_extPermaFree(), and testMldistsBuilding().
◆ extreduce_mldistsIsEmpty()
empty?
- Parameters
-
mldists multi-level distances
Definition at line 372 of file extreduce_mldists.c.
References multi_level_distances_storage::nlevels.
Referenced by extreduce_extPermaIsClean(), extreduce_mldistsLevelCloseTop(), extreduce_mldistsLevelReopenTop(), and testMldistsBuilding().
◆ extreduce_mldistsEmptySlotExists()
does an empty slot exits? (on current level)
- Parameters
-
mldists multi-level distances
Definition at line 383 of file extreduce_mldists.c.
References multi_level_distances_storage::emptyslot_number, and MLDISTS_EMPTYSLOT_NONE.
Referenced by extreduce_mldistsEmptySlotLevel(), extreduce_mldistsEmptySlotReset(), extreduce_mldistsEmptySlotSetBase(), extreduce_mldistsEmptySlotSetFilled(), extreduce_mldistsLevelAddTop(), extreduce_mldistsLevelCloseTop(), extreduce_mldistsLevelRemoveTop(), extreduce_mldistsLevelRemoveTopNonClosed(), extreduce_mldistsLevelReopenTop(), extreduce_mstInternalsInSync(), mldistsGetPosBase(), mldistsGetPosEmptyTargetsStart(), and mstLevelHorizontalAddSds().
◆ extreduce_mldistsEmptySlotTargetIds()
int* extreduce_mldistsEmptySlotTargetIds | ( | const MLDISTS * | mldists | ) |
gets targets IDs memory from clean slot (to be filled in)
- Parameters
-
mldists multi-level distances
Definition at line 395 of file extreduce_mldists.c.
References multi_level_distances_storage::level_ntargets, mldistsGetPosEmptyTargetsStart(), mldistsGetTopLevel(), STP_MLDISTS_ID_UNSET, multi_level_distances_storage::target_ids, and multi_level_distances_storage::target_withids.
Referenced by mstLevelHorizontalAddSds(), and mstLevelLeafSetVerticalSDsBoth().
◆ extreduce_mldistsEmptySlotTargetIdsDirty()
int* extreduce_mldistsEmptySlotTargetIdsDirty | ( | const MLDISTS * | mldists | ) |
gets targets IDs memory from clean slot (to be filled in)
- Parameters
-
mldists multi-level distances
Definition at line 418 of file extreduce_mldists.c.
References mldistsGetPosEmptyTargetsStart(), and multi_level_distances_storage::target_ids.
Referenced by mstLevelLeafAdjustVerticalSDs().
◆ extreduce_mldistsEmptySlotTargetDists()
Gets targets distances memory from clean slot (to be filled in). NOTE: Can only be called as long as this empty slots' distances have not not modified!
- Parameters
-
mldists multi-level distances
Definition at line 432 of file extreduce_mldists.c.
References EQ, multi_level_distances_storage::level_ntargets, mldistsGetPosEmptyTargetsStart(), mldistsGetTopLevel(), STP_MLDISTS_DIST_UNSET, and multi_level_distances_storage::target_dists.
Referenced by mstLevelHorizontalAddSds(), mstLevelLeafSetVerticalSDsBoth(), and testMldistsBuilding().
◆ extreduce_mldistsEmptySlotTargetDistsDirty()
Gets targets distances memory from empty slot. NOTE: This method does not make sure that the distances are clean! (i.e. not already set)
- Parameters
-
mldists multi-level distances
Definition at line 454 of file extreduce_mldists.c.
References mldistsGetPosEmptyTargetsStart(), and multi_level_distances_storage::target_dists.
Referenced by mstLevelLeafAdjustVerticalSDs(), and mstLevelLeafTryExtMst().
◆ extreduce_mldistsEmptySlotLevel()
int extreduce_mldistsEmptySlotLevel | ( | const MLDISTS * | mldists | ) |
gets level of current empty slot
- Parameters
-
mldists multi-level distances
Definition at line 466 of file extreduce_mldists.c.
References extreduce_mldistsEmptySlotExists(), and mldistsGetTopLevel().
◆ extreduce_mldistsEmptySlotSetBase()
void extreduce_mldistsEmptySlotSetBase | ( | int | baseid, |
MLDISTS * | mldists | ||
) |
sets base of empty slot
- Parameters
-
baseid base mldists multi-level distances
Definition at line 477 of file extreduce_mldists.c.
References multi_level_distances_storage::base_ids, multi_level_distances_storage::emptyslot_number, extreduce_mldistsEmptySlotExists(), multi_level_distances_storage::level_basestart, multi_level_distances_storage::maxnslots, mldistsGetTopLevel(), STP_MLDISTS_ID_EMPTY, and STP_MLDISTS_ID_UNSET.
Referenced by extreduce_mldistsLevelAddAndCloseEmpty(), extreduce_mldistsLevelAddAndCloseRoot(), mstLevelHorizontalAddSds(), mstLevelLeafInit(), and testMldistsBuilding().
◆ extreduce_mldistsEmptySlotReset()
void extreduce_mldistsEmptySlotReset | ( | MLDISTS * | mldists | ) |
Resets all changes (especially bases) of empty slot. NOTE: Assumes that at least the basis of the slot has been set
- Parameters
-
mldists multi-level distances
Definition at line 496 of file extreduce_mldists.c.
References multi_level_distances_storage::base_ids, multi_level_distances_storage::emptyslot_number, extreduce_mldistsEmptySlotExists(), multi_level_distances_storage::level_basestart, multi_level_distances_storage::level_ntargets, multi_level_distances_storage::maxnslots, mldistsGetPosEmptyTargetsStart(), mldistsGetTopLevel(), STP_MLDISTS_DIST_UNSET, STP_MLDISTS_ID_UNSET, multi_level_distances_storage::target_dists, multi_level_distances_storage::target_ids, and multi_level_distances_storage::target_withids.
Referenced by mstLevelLeafExit().
◆ extreduce_mldistsEmptySlotSetFilled()
void extreduce_mldistsEmptySlotSetFilled | ( | MLDISTS * | mldists | ) |
marks current empty slot as filled
- Parameters
-
mldists multi-level distances
Definition at line 534 of file extreduce_mldists.c.
References multi_level_distances_storage::base_ids, multi_level_distances_storage::emptyslot_number, extreduce_mldistsEmptySlotExists(), extreduce_mldistsLevelNSlots(), multi_level_distances_storage::level_basestart, MLDISTS_EMPTYSLOT_NONE, mldistsGetTopLevel(), and STP_MLDISTS_ID_UNSET.
Referenced by extreduce_mldistsLevelAddAndCloseEmpty(), extreduce_mldistsLevelAddAndCloseRoot(), mstLevelHorizontalAddSds(), mstLevelLeafExit(), and testMldistsBuilding().
◆ extreduce_mldistsLevelAddTop()
void extreduce_mldistsLevelAddTop | ( | int | nslots, |
int | nslottargets, | ||
MLDISTS * | mldists | ||
) |
adds another level of slots at top
- Parameters
-
nslots number of slots per this level nslottargets number of targets per slot mldists multi-level distances
Definition at line 562 of file extreduce_mldists.c.
References multi_level_distances_storage::emptyslot_number, extreduce_mldistsEmptySlotExists(), multi_level_distances_storage::level_basestart, multi_level_distances_storage::level_maxnslots, multi_level_distances_storage::level_maxntargets, multi_level_distances_storage::level_ntargets, multi_level_distances_storage::level_targetstart, multi_level_distances_storage::maxnlevels, mldistsTopLevelUnset(), and multi_level_distances_storage::nlevels.
Referenced by extreduce_mldistsLevelAddAndCloseEmpty(), extreduce_mldistsLevelAddAndCloseRoot(), extreduce_mstLevelInitialInit(), mstLevelHorizontalAddSds(), and testMldistsBuilding().
◆ extreduce_mldistsLevelAddAndCloseEmpty()
void extreduce_mldistsLevelAddAndCloseEmpty | ( | int | nslottargets, |
MLDISTS * | mldists | ||
) |
adds dummy level
- Parameters
-
nslottargets number of targets per slot mldists multi-level distances
Definition at line 594 of file extreduce_mldists.c.
References extreduce_mldistsEmptySlotSetBase(), extreduce_mldistsEmptySlotSetFilled(), extreduce_mldistsLevelAddTop(), extreduce_mldistsLevelCloseTop(), and STP_MLDISTS_ID_EMPTY.
Referenced by extreduce_mstLevelHorizontalAddEmpty(), and extreduce_mstLevelVerticalAddEmpty().
◆ extreduce_mldistsLevelAddAndCloseRoot()
void extreduce_mldistsLevelAddAndCloseRoot | ( | int | base, |
MLDISTS * | mldists | ||
) |
adds root level of slots
- Parameters
-
base the base mldists multi-level distances
Definition at line 609 of file extreduce_mldists.c.
References extreduce_mldistsEmptySlotSetBase(), extreduce_mldistsEmptySlotSetFilled(), extreduce_mldistsLevelAddTop(), and extreduce_mldistsLevelCloseTop().
Referenced by mstAddRootLevelSDs().
◆ extreduce_mldistsLevelCloseTop()
void extreduce_mldistsLevelCloseTop | ( | MLDISTS * | mldists | ) |
closes the top level for further extensions
- Parameters
-
mldists multi-level distances
Definition at line 625 of file extreduce_mldists.c.
References multi_level_distances_storage::emptyslot_number, extreduce_mldistsEmptySlotExists(), extreduce_mldistsIsEmpty(), multi_level_distances_storage::level_basestart, multi_level_distances_storage::level_ntargets, multi_level_distances_storage::level_targetstart, MLDISTS_EMPTYSLOT_NONE, and multi_level_distances_storage::nlevels.
Referenced by extreduce_mldistsLevelAddAndCloseEmpty(), extreduce_mldistsLevelAddAndCloseRoot(), and extreduce_mstLevelVerticalClose().
◆ extreduce_mldistsLevelReopenTop()
void extreduce_mldistsLevelReopenTop | ( | MLDISTS * | mldists | ) |
reopens top level for one further extensions
- Parameters
-
mldists multi-level distances
Definition at line 656 of file extreduce_mldists.c.
References multi_level_distances_storage::base_ids, multi_level_distances_storage::emptyslot_number, extreduce_mldistsEmptySlotExists(), extreduce_mldistsIsEmpty(), multi_level_distances_storage::level_basestart, multi_level_distances_storage::level_ntargets, multi_level_distances_storage::level_targetstart, multi_level_distances_storage::maxnlevels, multi_level_distances_storage::nlevels, STP_MLDISTS_DIST_UNSET, STP_MLDISTS_ID_UNSET, multi_level_distances_storage::target_dists, multi_level_distances_storage::target_ids, and multi_level_distances_storage::target_withids.
Referenced by extreduce_mstLevelVerticalReopen().
◆ extreduce_mldistsLevelRemoveTop()
void extreduce_mldistsLevelRemoveTop | ( | MLDISTS * | mldists | ) |
removes top level of slots
- Parameters
-
mldists multi-level distances
Definition at line 695 of file extreduce_mldists.c.
References extreduce_mldistsEmptySlotExists(), mldistsTopLevelUnset(), and multi_level_distances_storage::nlevels.
Referenced by extreduce_mstLevelHorizontalRemove(), extreduce_mstLevelRemove(), extreduce_mstLevelVerticalRemove(), postCleanSDs(), and testMldistsBuilding().
◆ extreduce_mldistsLevelRemoveTopNonClosed()
void extreduce_mldistsLevelRemoveTopNonClosed | ( | MLDISTS * | mldists | ) |
removes top level of slots, which is not yet closed
- Parameters
-
mldists multi-level distances
Definition at line 712 of file extreduce_mldists.c.
References multi_level_distances_storage::emptyslot_number, extreduce_mldistsEmptySlotExists(), MLDISTS_EMPTYSLOT_NONE, mldistsTopLevelUnset(), and multi_level_distances_storage::nlevels.
◆ extreduce_mldistsLevelNTargets()
int extreduce_mldistsLevelNTargets | ( | const MLDISTS * | mldists, |
int | level | ||
) |
gets number of targets (per slots) for given level
- Parameters
-
mldists multi-level distances level level
Definition at line 730 of file extreduce_mldists.c.
References multi_level_distances_storage::level_maxntargets, multi_level_distances_storage::level_ntargets, and mldistsGetTopLevel().
Referenced by baseMstInitMsts(), compRootDistsUpdateLeavesDists(), and extreduce_mldistsLevelNTopTargets().
◆ extreduce_mldistsLevelNTopTargets()
int extreduce_mldistsLevelNTopTargets | ( | const MLDISTS * | mldists | ) |
gets number of targets (per slots) for top level
- Parameters
-
mldists multi-level distances
Definition at line 743 of file extreduce_mldists.c.
References extreduce_mldistsLevelNTargets(), and mldistsGetTopLevel().
Referenced by compMstInitMsts(), compUpDistUpdateLeavesDists(), extreduce_mstLevelVerticalReopen(), mstCompLeafGetSDsToAncestors(), mstCompLeafGetSDsToSiblings(), and mstCompLeafToAncestorsBiasedRuleOut().
◆ extreduce_mldistsLevelNSlots()
int extreduce_mldistsLevelNSlots | ( | const MLDISTS * | mldists, |
int | level | ||
) |
gets number of slots for given level
- Parameters
-
mldists multi-level distances level level
Definition at line 754 of file extreduce_mldists.c.
References multi_level_distances_storage::level_basestart, multi_level_distances_storage::level_maxnslots, and mldistsGetTopLevel().
Referenced by extreduce_mldistsEmptySlotSetFilled(), extreduce_mldistsTopLevelNSlots(), and extreduce_mstLevelVerticalClose().
◆ extreduce_mldistsTopLevelNSlots()
int extreduce_mldistsTopLevelNSlots | ( | const MLDISTS * | mldists | ) |
gets number of slots for top level
- Parameters
-
mldists multi-level distances
Definition at line 769 of file extreduce_mldists.c.
References extreduce_mldistsLevelNSlots(), and extreduce_mldistsTopLevel().
Referenced by extreduce_mstInternalsInSync(), extreduce_mstLevelClose(), and extreduce_printTopLevel().
◆ extreduce_mldistsNlevels()
int extreduce_mldistsNlevels | ( | const MLDISTS * | mldists | ) |
gets number of levels
- Parameters
-
mldists multi-level distances
Definition at line 778 of file extreduce_mldists.c.
References multi_level_distances_storage::nlevels.
Referenced by extreduce_extPermaIsClean(), extreduce_mstInternalsInSync(), extreduce_mstLevelHorizontalRemove(), extreduce_mstLevelRemove(), extreduce_mstLevelVerticalRemove(), and postCleanSDs().
◆ extreduce_mldistsTopLevel()
int extreduce_mldistsTopLevel | ( | const MLDISTS * | mldists | ) |
gets top level
- Parameters
-
mldists multi-level distances
Definition at line 790 of file extreduce_mldists.c.
References multi_level_distances_storage::nlevels.
Referenced by baseMstInitExtComp(), baseMstInitMsts(), compMstInitExtComp(), extreduce_mldistsTopLevelNSlots(), extreduce_mstLevelClose(), extreduce_mstLevelHorizontalAdd(), extreduce_mstLevelHorizontalAddEmpty(), extreduce_mstLevelInitialInit(), extreduce_mstLevelVerticalAddEmpty(), extreduce_mstLevelVerticalClose(), extreduce_mstLevelVerticalReopen(), extStackTopCollectExtEdges(), mstAddRootLevelSDs(), and mstLevelHorizontalAddSds().
◆ extreduce_mldistsTopLevelBases()
const int* extreduce_mldistsTopLevelBases | ( | const MLDISTS * | mldists | ) |
gets top level bases
- Parameters
-
mldists multi-level distances
Definition at line 802 of file extreduce_mldists.c.
References multi_level_distances_storage::base_ids, mldistsGetPosBasesStart(), and mldistsGetTopLevel().
Referenced by extreduce_printTopLevel().
◆ extreduce_mldistsLevelContainsBase()
is the base contained in a slot of the given level?
- Parameters
-
mldists multi-level distances level level baseid the base id
Definition at line 814 of file extreduce_mldists.c.
References mldistsGetPosBase(), and mldistsGetTopLevel().
Referenced by extStackTopCollectExtEdges(), and mldistsGetPosTargetsStart().
◆ extreduce_mldistsTargetIds()
const int* extreduce_mldistsTargetIds | ( | const MLDISTS * | mldists, |
int | level, | ||
int | baseid | ||
) |
gets targets ids
- Parameters
-
mldists multi-level distances level level baseid the base
Definition at line 829 of file extreduce_mldists.c.
References mldistsGetPosTargetsStart(), multi_level_distances_storage::target_ids, and multi_level_distances_storage::target_withids.
Referenced by compRootDistsUpdateLeavesDists(), and extreduce_mldistsTopTargetIds().
◆ extreduce_mldistsTargetDists()
gets targets distances
- Parameters
-
mldists multi-level distances level level baseid the base
Definition at line 845 of file extreduce_mldists.c.
References mldistsGetPosTargetsStart(), and multi_level_distances_storage::target_dists.
Referenced by baseMstGetAdjcosts(), and compRootDistsUpdateLeavesDists().
◆ extreduce_mldistsTopTargetIds()
const int* extreduce_mldistsTopTargetIds | ( | const MLDISTS * | mldists, |
int | baseid | ||
) |
Gets targets ids
- Parameters
-
mldists multi-level distances baseid the base
Definition at line 863 of file extreduce_mldists.c.
References extreduce_mldistsTargetIds(), and mldistsGetTopLevel().
Referenced by compUpDistUpdateLeavesDists(), and extreduce_sdsverticalInSync().
◆ extreduce_mldistsTopTargetDists()
gets targets distances
- Parameters
-
mldists multi-level distances baseid the base
Definition at line 873 of file extreduce_mldists.c.
References mldistsGetPosTargetsStart(), mldistsGetTopLevel(), and multi_level_distances_storage::target_dists.
Referenced by compUpDistUpdateLeavesDists(), extreduce_sdsverticalInSync(), mst3LeafTreeGetSds(), mstCompLeafGetSDsToAncestors(), and mstCompLeafToAncestorsBiasedRuleOut().
◆ extreduce_mldistsTopTargetDist()
gets (one!) target distance for given target ID and base ID
- Parameters
-
mldists multi-level distances baseid the base targetid the identifier
Definition at line 885 of file extreduce_mldists.c.
References GE, mldistsGetPosTargets(), mldistsGetTopLevel(), and multi_level_distances_storage::target_dists.
Referenced by extreduce_sdshorizontalInSync(), mst3LeafTreeGetSds(), mstCompLeafGetSDsToSiblings(), mstCompLeafToSiblingsBiasedRuleOut(), and mstLevelHorizontalAddSds().
◆ extreduce_mldistsTargetDist()
SCIP_Real extreduce_mldistsTargetDist | ( | const MLDISTS * | mldists, |
int | level, | ||
int | baseid, | ||
int | targetid | ||
) |
gets (one!) target distance for given level, target ID and base ID
- Parameters
-
mldists multi-level distances level level baseid the base targetid the identifier
Definition at line 904 of file extreduce_mldists.c.
References GE, mldistsGetPosTargets(), mldistsGetTopLevel(), and multi_level_distances_storage::target_dists.
Referenced by baseMstGetAdjcosts().