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 3759 of file misc.c.
References BMSallocBlockMemory, BMSallocClearBlockMemoryArray, MAX, NULL, SCIP_ALLOC, SCIP_OKAY, and SCIPhashsetGetNSlots().
Referenced by addSymmetryInformation(), 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 3790 of file misc.c.
References BMSfreeBlockMemory, BMSfreeBlockMemoryArray, and SCIPhashsetGetNSlots().
Referenced by addSymmetryInformation(), 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 3800 of file misc.c.
References hashsetCheckLoad(), hashsetInsert(), NULL, SCIP_CALL, SCIP_OKAY, and SCIP_HashSet::slots.
Referenced by addSymmetryInformation(), DECL_CURVCHECK(), detectSocNorm(), dualBoundStrengthening(), mod2colLinkRow(), processHashlists(), SCIPrealHashCode(), SCIPreoptApplyGlbConss(), SCIPreoptSaveActiveConss(), tryAddGadgetBilinearProductSignedPerm(), tryAddGadgetEvenOperator(), tryAddGadgetEvenOperatorSum(), and tryAddGadgetSquaredDifference().
◆ 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 3817 of file misc.c.
References ELEM_DISTANCE, FALSE, hashSetDesiredPos(), NULL, SCIPhashsetGetNSlots(), SCIP_HashSet::slots, and TRUE.
Referenced by addSymmetryInformation(), cleanActiveConss(), 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 3858 of file misc.c.
References ELEM_DISTANCE, hashSetDesiredPos(), SCIP_HashSet::nelements, NULL, SCIP_OKAY, SCIPhashsetExists(), SCIPhashsetGetNSlots(), SCIP_HashSet::slots, and TRUE.
Referenced by addSymmetryInformation(), 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 3933 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 3984 of file misc.c.
References SCIP_HashSet::nelements.
Referenced by addSymmetryInformation(), and SCIPrealHashCode().
◆ SCIPhashsetGetNElements()
int SCIPhashsetGetNElements | ( | SCIP_HASHSET * | hashset | ) |
gives the number of elements in a hash set
- Parameters
-
hashset hash set
Definition at line 3992 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 4000 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 4008 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 4016 of file misc.c.
References BMSclearMemoryArray, SCIP_HashSet::nelements, SCIPhashsetGetNSlots(), and SCIP_HashSet::slots.
Referenced by cleanActiveConss(), and SCIPrealHashCode().