Scippy

    SCIP

    Solving Constraint Integer Programs

    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 3802 of file misc.c.

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

    Referenced by addSymmetryInformation(), DECL_CURVCHECK(), detectSocNorm(), dualBoundStrengthening(), mod2MatrixAddCol(), processHashlists(), readSolFile(), readXmlSolFile(), 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 3833 of file misc.c.

    References BMSfreeBlockMemory, BMSfreeBlockMemoryArray, and SCIPhashsetGetNSlots().

    Referenced by addSymmetryInformation(), DECL_CURVCHECK(), destroyMod2Matrix(), detectSocNorm(), dualBoundStrengthening(), mod2matrixRemoveCol(), processHashlists(), readSolFile(), readXmlSolFile(), and SCIPreoptFree().

    ◆ SCIPhashsetInsert()

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

    ◆ 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 3901 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(), 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 3976 of file misc.c.

    References hashSetDesiredPos(), MAX, SCIP_HashSet::nelements, NULL, SCIP_Real, SCIPhashsetGetNSlots(), SCIPmessagePrintInfo(), and SCIP_HashSet::slots.

    ◆ SCIPhashsetIsEmpty()

    SCIP_Bool SCIPhashsetIsEmpty ( SCIP_HASHSET hashset)

    indicates whether a hash set has no entries

    Parameters
    hashsethash set

    Definition at line 4027 of file misc.c.

    References SCIP_HashSet::nelements.

    Referenced by addSymmetryInformation().

    ◆ SCIPhashsetGetNElements()

    int SCIPhashsetGetNElements ( SCIP_HASHSET hashset)

    gives the number of elements in a hash set

    Parameters
    hashsethash set

    Definition at line 4035 of file misc.c.

    References SCIP_HashSet::nelements.

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

    ◆ SCIPhashsetGetNSlots()

    ◆ 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 4051 of file misc.c.

    References SCIP_HashSet::slots.

    Referenced by doSeparation(), mod2colUnlinkRow(), mod2matrixPreprocessColumns(), mod2matrixRemoveCol(), readSolFile(), readXmlSolFile(), 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 4059 of file misc.c.

    References BMSclearMemoryArray, SCIP_HashSet::nelements, SCIPhashsetGetNSlots(), and SCIP_HashSet::slots.

    Referenced by cleanActiveConss().