SCIP Doxygen Documentation
 
Loading...
Searching...
No Matches

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
hashsetpointer to store the created hash set
blkmemblock memory used to store hash set entries
sizeinitial 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 3709 of file misc.c.

References assert(), BMSallocBlockMemory, BMSallocClearBlockMemoryArray, i, MAX, NULL, SCIP_ALLOC, SCIP_OKAY, and SCIPhashsetGetNSlots().

Referenced by computeSymmetryGroup(), DECL_CURVCHECK(), detectSocNorm(), dualBoundStrengthening(), mod2MatrixAddCol(), processHashlists(), and SCIPreoptSaveActiveConss().

◆ SCIPhashsetFree()

void SCIPhashsetFree ( SCIP_HASHSET ** hashset,
BMS_BLKMEM * blkmem )

frees the hash set

Parameters
hashsetpointer to the hash set
blkmemblock memory used to store hash set entries

Definition at line 3740 of file misc.c.

References BMSfreeBlockMemory, BMSfreeBlockMemoryArray, i, and SCIPhashsetGetNSlots().

Referenced by computeSymmetryGroup(), DECL_CURVCHECK(), destroyMod2Matrix(), detectSocNorm(), dualBoundStrengthening(), mod2matrixRemoveCol(), processHashlists(), and SCIPreoptFree().

◆ SCIPhashsetInsert()

SCIP_RETCODE SCIPhashsetInsert ( SCIP_HASHSET * hashset,
BMS_BLKMEM * blkmem,
void * element )

inserts new element into the hash set

Parameters
hashsethash set
blkmemblock memory used to store hash set entries
elementelement to insert

Definition at line 3750 of file misc.c.

References assert(), hashsetCheckLoad(), hashsetInsert(), i, NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by computeSymmetryGroup(), DECL_CURVCHECK(), detectSocNorm(), dualBoundStrengthening(), mod2colLinkRow(), processHashlists(), SCIPreoptApplyGlbConss(), and SCIPreoptSaveActiveConss().

◆ SCIPhashsetExists()

◆ SCIPhashsetRemove()

SCIP_RETCODE SCIPhashsetRemove ( SCIP_HASHSET * hashset,
void * element )

removes an element from the hash set, if it exists

Parameters
hashsethash set
elementorigin to remove from the list

Definition at line 3808 of file misc.c.

References assert(), ELEM_DISTANCE, hashSetDesiredPos(), i, NULL, SCIP_OKAY, SCIPhashsetExists(), SCIPhashsetGetNSlots(), and TRUE.

Referenced by detectSocNorm(), and mod2colUnlinkRow().

◆ SCIPhashsetPrintStatistics()

void SCIPhashsetPrintStatistics ( SCIP_HASHSET * hashset,
SCIP_MESSAGEHDLR * messagehdlr )

prints statistics about hash set usage

Parameters
hashsethash set
messagehdlrmessage handler

Definition at line 3883 of file misc.c.

References assert(), hashSetDesiredPos(), i, MAX, NULL, SCIPhashsetGetNSlots(), and SCIPmessagePrintInfo().

◆ SCIPhashsetIsEmpty()

SCIP_Bool SCIPhashsetIsEmpty ( SCIP_HASHSET * hashset)

indicates whether a hash set has no entries

Parameters
hashsethash set

Definition at line 3934 of file misc.c.

References i.

◆ SCIPhashsetGetNElements()

int SCIPhashsetGetNElements ( SCIP_HASHSET * hashset)

gives the number of elements in a hash set

Parameters
hashsethash set

Definition at line 3942 of file misc.c.

References i.

Referenced by detectSocNorm(), mod2matrixPreprocessColumns(), and SCIP_DECL_HASHKEYEQ().

◆ SCIPhashsetGetNSlots()

int SCIPhashsetGetNSlots ( SCIP_HASHSET * hashset)

◆ 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
hashsethash set

Definition at line 3958 of file misc.c.

References i.

Referenced by doSeparation(), mod2colUnlinkRow(), mod2matrixPreprocessColumns(), mod2matrixRemoveCol(), SCIP_DECL_HASHKEYEQ(), and SCIP_DECL_HASHKEYVAL().

◆ SCIPhashsetRemoveAll()

void SCIPhashsetRemoveAll ( SCIP_HASHSET * hashset)

removes all entries in a hash set.

Parameters
hashsethash set

Definition at line 3966 of file misc.c.

References BMSclearMemoryArray, i, and SCIPhashsetGetNSlots().

Referenced by cleanActiveConss().