Detailed Description
very lightweight hash set of pointers
Functions | |
SCIP_EXPORT SCIP_RETCODE | SCIPhashsetCreate (SCIP_HASHSET **hashset, BMS_BLKMEM *blkmem, int size) |
SCIP_EXPORT void | SCIPhashsetFree (SCIP_HASHSET **hashset, BMS_BLKMEM *blkmem) |
SCIP_EXPORT SCIP_RETCODE | SCIPhashsetInsert (SCIP_HASHSET *hashset, BMS_BLKMEM *blkmem, void *element) |
SCIP_EXPORT SCIP_Bool | SCIPhashsetExists (SCIP_HASHSET *hashset, void *element) |
SCIP_EXPORT SCIP_RETCODE | SCIPhashsetRemove (SCIP_HASHSET *hashset, void *element) |
SCIP_EXPORT void | SCIPhashsetPrintStatistics (SCIP_HASHSET *hashset, SCIP_MESSAGEHDLR *messagehdlr) |
SCIP_EXPORT SCIP_Bool | SCIPhashsetIsEmpty (SCIP_HASHSET *hashset) |
SCIP_EXPORT int | SCIPhashsetGetNElements (SCIP_HASHSET *hashset) |
SCIP_EXPORT int | SCIPhashsetGetNSlots (SCIP_HASHSET *hashset) |
SCIP_EXPORT void ** | SCIPhashsetGetSlots (SCIP_HASHSET *hashset) |
SCIP_EXPORT void | SCIPhashsetRemoveAll (SCIP_HASHSET *hashset) |
Function Documentation
◆ SCIPhashsetCreate()
SCIP_EXPORT SCIP_RETCODE SCIPhashsetCreate | ( | SCIP_HASHSET ** | hashset, |
BMS_BLKMEM * | blkmem, | ||
int | size | ||
) |
creates a hash set of pointers
- Parameters
-
hashset pointer to store the created hash set blkmem block memory used to store hash set entries size initial size of the hash set; it is guaranteed that the set is not resized if at most that many elements are inserted
Definition at line 3699 of file misc.c.
References BMSallocBlockMemory, BMSallocClearBlockMemoryArray, log(), MAX, NULL, SCIP_ALLOC, SCIP_OKAY, and SCIPhashsetGetNSlots().
Referenced by dualBoundStrengthening(), mod2MatrixAddCol(), processHashlists(), SCIPrealHashCode(), and SCIPreoptSaveActiveConss().
◆ SCIPhashsetFree()
SCIP_EXPORT void SCIPhashsetFree | ( | SCIP_HASHSET ** | hashset, |
BMS_BLKMEM * | blkmem | ||
) |
frees the hash set
- Parameters
-
hashset pointer to the hash set blkmem block memory used to store hash set entries
Definition at line 3730 of file misc.c.
References BMSfreeBlockMemory, BMSfreeBlockMemoryArray, and SCIPhashsetGetNSlots().
Referenced by destroyMod2Matrix(), dualBoundStrengthening(), mod2matrixRemoveCol(), processHashlists(), SCIPrealHashCode(), and SCIPreoptFree().
◆ SCIPhashsetInsert()
SCIP_EXPORT SCIP_RETCODE SCIPhashsetInsert | ( | SCIP_HASHSET * | hashset, |
BMS_BLKMEM * | blkmem, | ||
void * | element | ||
) |
inserts new element into the hash set
- Parameters
-
hashset hash set blkmem block memory used to store hash set entries element element to insert
Definition at line 3740 of file misc.c.
References hashsetCheckLoad(), hashsetInsert(), NULL, SCIP_CALL, SCIP_OKAY, and SCIP_HashSet::slots.
Referenced by dualBoundStrengthening(), mod2colLinkRow(), processHashlists(), SCIPrealHashCode(), SCIPreoptApplyGlbConss(), and SCIPreoptSaveActiveConss().
◆ SCIPhashsetExists()
SCIP_EXPORT SCIP_Bool SCIPhashsetExists | ( | SCIP_HASHSET * | hashset, |
void * | element | ||
) |
checks whether an element exists in the hash set
- Parameters
-
hashset hash set element element to search for
Definition at line 3757 of file misc.c.
References ELEM_DISTANCE, FALSE, hashSetDesiredPos(), NULL, SCIPhashsetGetNSlots(), SCIP_HashSet::slots, and TRUE.
Referenced by cleanActiveConss(), dualBoundStrengthening(), mod2colLinkRow(), mod2colUnlinkRow(), processHashlists(), SCIP_DECL_HASHKEYEQ(), SCIPhashsetRemove(), SCIPrealHashCode(), SCIPreoptApplyGlbConss(), SCIPreoptConsCanBeDeleted(), SCIPreoptResetActiveConss(), and SCIPreoptSaveActiveConss().
◆ SCIPhashsetRemove()
SCIP_EXPORT SCIP_RETCODE SCIPhashsetRemove | ( | SCIP_HASHSET * | hashset, |
void * | element | ||
) |
removes an element from the hash set, if it exists
- Parameters
-
hashset hash set element origin to remove from the list
Definition at line 3798 of file misc.c.
References ELEM_DISTANCE, hashSetDesiredPos(), SCIP_HashSet::nelements, NULL, SCIP_OKAY, SCIPhashsetExists(), SCIPhashsetGetNSlots(), SCIP_HashSet::slots, and TRUE.
Referenced by mod2colUnlinkRow(), and SCIPrealHashCode().
◆ SCIPhashsetPrintStatistics()
SCIP_EXPORT void SCIPhashsetPrintStatistics | ( | SCIP_HASHSET * | hashset, |
SCIP_MESSAGEHDLR * | messagehdlr | ||
) |
prints statistics about hash set usage
- Parameters
-
hashset hash set messagehdlr message handler
Definition at line 3873 of file misc.c.
References hashSetDesiredPos(), MAX, SCIP_HashSet::nelements, NULL, SCIP_Real, SCIPhashsetGetNSlots(), SCIPmessagePrintInfo(), and SCIP_HashSet::slots.
Referenced by SCIPrealHashCode().
◆ SCIPhashsetIsEmpty()
SCIP_EXPORT SCIP_Bool SCIPhashsetIsEmpty | ( | SCIP_HASHSET * | hashset | ) |
indicates whether a hash set has no entries
- Parameters
-
hashset hash set
Definition at line 3924 of file misc.c.
References SCIP_HashSet::nelements.
Referenced by SCIPrealHashCode().
◆ SCIPhashsetGetNElements()
SCIP_EXPORT int SCIPhashsetGetNElements | ( | SCIP_HASHSET * | hashset | ) |
gives the number of elements in a hash set
- Parameters
-
hashset hash set
Definition at line 3932 of file misc.c.
References SCIP_HashSet::nelements.
Referenced by mod2matrixPreprocessColumns(), SCIP_DECL_HASHKEYEQ(), and SCIPrealHashCode().
◆ SCIPhashsetGetNSlots()
SCIP_EXPORT int SCIPhashsetGetNSlots | ( | SCIP_HASHSET * | hashset | ) |
gives the number of slots of a hash set
- Parameters
-
hashset hash set
Definition at line 3940 of file misc.c.
References SCIP_HashSet::shift.
Referenced by doSeparation(), hashsetCheckLoad(), hashsetInsert(), mod2colUnlinkRow(), mod2matrixRemoveCol(), SCIP_DECL_HASHKEYEQ(), SCIP_DECL_HASHKEYVAL(), SCIPhashsetCreate(), SCIPhashsetExists(), SCIPhashsetFree(), SCIPhashsetPrintStatistics(), SCIPhashsetRemove(), SCIPhashsetRemoveAll(), and SCIPrealHashCode().
◆ SCIPhashsetGetSlots()
SCIP_EXPORT void** SCIPhashsetGetSlots | ( | SCIP_HASHSET * | hashset | ) |
gives the array of hash set slots; contains all elements in indetermined order and may contain NULL values
- Parameters
-
hashset hash set
Definition at line 3948 of file misc.c.
References SCIP_HashSet::slots.
Referenced by doSeparation(), mod2colUnlinkRow(), mod2matrixPreprocessColumns(), mod2matrixRemoveCol(), SCIP_DECL_HASHKEYEQ(), SCIP_DECL_HASHKEYVAL(), and SCIPrealHashCode().
◆ SCIPhashsetRemoveAll()
SCIP_EXPORT void SCIPhashsetRemoveAll | ( | SCIP_HASHSET * | hashset | ) |
removes all entries in a hash set.
- Parameters
-
hashset hash set
Definition at line 3956 of file misc.c.
References BMSclearMemoryArray, SCIP_HashSet::nelements, SCIPhashsetGetNSlots(), and SCIP_HashSet::slots.
Referenced by cleanActiveConss(), and SCIPrealHashCode().