Detailed Description
very lightweight hash set of pointers
Functions | |
SCIP_RETCODE | SCIPhashsetCreate (SCIP_HASHSET **hashset, BMS_BLKMEM *blkmem, int size) |
void | SCIPhashsetFree (SCIP_HASHSET **hashset, BMS_BLKMEM *blkmem) |
SCIP_RETCODE | SCIPhashsetInsert (SCIP_HASHSET *hashset, BMS_BLKMEM *blkmem, void *element) |
SCIP_Bool | SCIPhashsetExists (SCIP_HASHSET *hashset, void *element) |
SCIP_RETCODE | SCIPhashsetRemove (SCIP_HASHSET *hashset, void *element) |
void | SCIPhashsetPrintStatistics (SCIP_HASHSET *hashset, SCIP_MESSAGEHDLR *messagehdlr) |
SCIP_Bool | SCIPhashsetIsEmpty (SCIP_HASHSET *hashset) |
int | SCIPhashsetGetNElements (SCIP_HASHSET *hashset) |
int | SCIPhashsetGetNSlots (SCIP_HASHSET *hashset) |
void ** | SCIPhashsetGetSlots (SCIP_HASHSET *hashset) |
void | SCIPhashsetRemoveAll (SCIP_HASHSET *hashset) |
Function Documentation
◆ SCIPhashsetCreate()
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 3708 of file misc.c.
References BMSallocBlockMemory, BMSallocClearBlockMemoryArray, MAX, NULL, SCIP_ALLOC, SCIP_OKAY, and SCIPhashsetGetNSlots().
Referenced by computeSymmetryGroup(), DECL_CURVCHECK(), detectSocNorm(), dualBoundStrengthening(), mod2MatrixAddCol(), processHashlists(), SCIPrealHashCode(), and SCIPreoptSaveActiveConss().
◆ SCIPhashsetFree()
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 3739 of file misc.c.
References BMSfreeBlockMemory, BMSfreeBlockMemoryArray, and SCIPhashsetGetNSlots().
Referenced by computeSymmetryGroup(), DECL_CURVCHECK(), destroyMod2Matrix(), detectSocNorm(), dualBoundStrengthening(), mod2matrixRemoveCol(), processHashlists(), SCIPrealHashCode(), and SCIPreoptFree().
◆ SCIPhashsetInsert()
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 3749 of file misc.c.
References hashsetCheckLoad(), hashsetInsert(), NULL, SCIP_CALL, SCIP_OKAY, and SCIP_HashSet::slots.
Referenced by computeSymmetryGroup(), DECL_CURVCHECK(), detectSocNorm(), dualBoundStrengthening(), mod2colLinkRow(), processHashlists(), SCIPrealHashCode(), SCIPreoptApplyGlbConss(), and SCIPreoptSaveActiveConss().
◆ SCIPhashsetExists()
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 3766 of file misc.c.
References ELEM_DISTANCE, FALSE, hashSetDesiredPos(), NULL, SCIPhashsetGetNSlots(), SCIP_HashSet::slots, and TRUE.
Referenced by cleanActiveConss(), computeSymmetryGroup(), DECL_CURVCHECK(), detectSocNorm(), dualBoundStrengthening(), mod2colLinkRow(), mod2colUnlinkRow(), processHashlists(), SCIP_DECL_HASHKEYEQ(), SCIPhashsetRemove(), SCIPrealHashCode(), SCIPreoptApplyGlbConss(), SCIPreoptConsCanBeDeleted(), SCIPreoptResetActiveConss(), and SCIPreoptSaveActiveConss().
◆ SCIPhashsetRemove()
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 3807 of file misc.c.
References ELEM_DISTANCE, hashSetDesiredPos(), SCIP_HashSet::nelements, NULL, SCIP_OKAY, SCIPhashsetExists(), SCIPhashsetGetNSlots(), SCIP_HashSet::slots, and TRUE.
Referenced by detectSocNorm(), mod2colUnlinkRow(), and SCIPrealHashCode().
◆ SCIPhashsetPrintStatistics()
void SCIPhashsetPrintStatistics | ( | SCIP_HASHSET * | hashset, |
SCIP_MESSAGEHDLR * | messagehdlr | ||
) |
prints statistics about hash set usage
- Parameters
-
hashset hash set messagehdlr message handler
Definition at line 3882 of file misc.c.
References hashSetDesiredPos(), MAX, SCIP_HashSet::nelements, NULL, SCIP_Real, SCIPhashsetGetNSlots(), SCIPmessagePrintInfo(), and SCIP_HashSet::slots.
Referenced by SCIPrealHashCode().
◆ SCIPhashsetIsEmpty()
SCIP_Bool SCIPhashsetIsEmpty | ( | SCIP_HASHSET * | hashset | ) |
indicates whether a hash set has no entries
- Parameters
-
hashset hash set
Definition at line 3933 of file misc.c.
References SCIP_HashSet::nelements.
Referenced by SCIPrealHashCode().
◆ SCIPhashsetGetNElements()
int SCIPhashsetGetNElements | ( | SCIP_HASHSET * | hashset | ) |
gives the number of elements in a hash set
- Parameters
-
hashset hash set
Definition at line 3941 of file misc.c.
References SCIP_HashSet::nelements.
Referenced by detectSocNorm(), mod2matrixPreprocessColumns(), SCIP_DECL_HASHKEYEQ(), and SCIPrealHashCode().
◆ SCIPhashsetGetNSlots()
int SCIPhashsetGetNSlots | ( | SCIP_HASHSET * | hashset | ) |
gives the number of slots of a hash set
- Parameters
-
hashset hash set
Definition at line 3949 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()
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 3957 of file misc.c.
References SCIP_HashSet::slots.
Referenced by doSeparation(), mod2colUnlinkRow(), mod2matrixPreprocessColumns(), mod2matrixRemoveCol(), SCIP_DECL_HASHKEYEQ(), SCIP_DECL_HASHKEYVAL(), and SCIPrealHashCode().
◆ SCIPhashsetRemoveAll()
void SCIPhashsetRemoveAll | ( | SCIP_HASHSET * | hashset | ) |
removes all entries in a hash set.
- Parameters
-
hashset hash set
Definition at line 3965 of file misc.c.
References BMSclearMemoryArray, SCIP_HashSet::nelements, SCIPhashsetGetNSlots(), and SCIP_HashSet::slots.
Referenced by cleanActiveConss(), and SCIPrealHashCode().