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 3698 of file misc.c.
References BMSallocBlockMemory, BMSallocClearBlockMemoryArray, log(), MAX, NULL, SCIP_ALLOC, SCIP_OKAY, and SCIPhashsetGetNSlots().
Referenced by dualBoundStrengthening(), mod2MatrixAddCol(), processHashlists(), and SCIPrealHashCode().
◆ 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 3729 of file misc.c.
References BMSfreeBlockMemory, BMSfreeBlockMemoryArray, and SCIPhashsetGetNSlots().
Referenced by destroyMod2Matrix(), dualBoundStrengthening(), mod2matrixRemoveCol(), processHashlists(), and SCIPrealHashCode().
◆ 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 3739 of file misc.c.
References hashsetCheckLoad(), hashsetInsert(), NULL, SCIP_CALL, SCIP_OKAY, and SCIP_HashSet::slots.
Referenced by dualBoundStrengthening(), mod2colLinkRow(), processHashlists(), and SCIPrealHashCode().
◆ 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 3756 of file misc.c.
References ELEM_DISTANCE, FALSE, hashSetDesiredPos(), NULL, SCIPhashsetGetNSlots(), SCIP_HashSet::slots, and TRUE.
Referenced by dualBoundStrengthening(), mod2colLinkRow(), mod2colUnlinkRow(), processHashlists(), SCIP_DECL_HASHKEYEQ(), SCIPhashsetRemove(), and SCIPrealHashCode().
◆ 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 3797 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 3872 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 3923 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 3931 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 3939 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 3947 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 3955 of file misc.c.
References BMSclearMemoryArray, SCIP_HashSet::nelements, SCIPhashsetGetNSlots(), and SCIP_HashSet::slots.
Referenced by SCIPrealHashCode().