Scippy

    SCIP

    Solving Constraint Integer Programs

    Detailed Description

    type definitions for miscellaneous datastructures

    Author
    Tobias Achterberg

    Definition in file type_misc.h.

    #include "scip/def.h"

    Go to the source code of this file.

    Macros

    #define SCIP_DECL_SORTINDCOMP(x)   int x (void* dataptr, int ind1, int ind2)
     
    #define SCIP_DECL_SORTPTRCOMP(x)   int x (void* elem1, void* elem2)
     
    #define SCIP_DECL_HASHGETKEY(x)   void* x (void* userptr, void* elem)
     
    #define SCIP_DECL_HASHKEYEQ(x)   SCIP_Bool x (void* userptr, void* key1, void* key2)
     
    #define SCIP_DECL_HASHKEYVAL(x)   uint64_t x (void* userptr, void* key)
     
    #define SCIP_DECL_NEWTONEVAL(x)   SCIP_Real x (SCIP_Real point, SCIP_Real* params, int nparams)
     
    #define SCIP_DECL_PQUEUEELEMCHGPOS(x)   void x (void* elem, int oldpos, int newpos)
     

    Typedefs

    typedef enum SCIP_Confidencelevel SCIP_CONFIDENCELEVEL
     
    typedef enum SCIP_Hashmaptype SCIP_HASHMAPTYPE
     
    typedef struct SCIP_SparseSol SCIP_SPARSESOL
     
    typedef struct SCIP_Queue SCIP_QUEUE
     
    typedef struct SCIP_PQueue SCIP_PQUEUE
     
    typedef struct SCIP_HashTable SCIP_HASHTABLE
     
    typedef struct SCIP_MultiHash SCIP_MULTIHASH
     
    typedef struct SCIP_MultiHashList SCIP_MULTIHASHLIST
     
    typedef struct SCIP_HashMapEntry SCIP_HASHMAPENTRY
     
    typedef struct SCIP_HashMap SCIP_HASHMAP
     
    typedef struct SCIP_HashSet SCIP_HASHSET
     
    typedef struct SCIP_RealArray SCIP_REALARRAY
     
    typedef struct SCIP_IntArray SCIP_INTARRAY
     
    typedef struct SCIP_BoolArray SCIP_BOOLARRAY
     
    typedef struct SCIP_PtrArray SCIP_PTRARRAY
     
    typedef struct SCIP_RandNumGen SCIP_RANDNUMGEN
     
    typedef struct SCIP_ResourceActivity SCIP_RESOURCEACTIVITY
     
    typedef struct SCIP_Profile SCIP_PROFILE
     
    typedef struct SCIP_Digraph SCIP_DIGRAPH
     
    typedef struct SCIP_Bt SCIP_BT
     
    typedef struct SCIP_BtNode SCIP_BTNODE
     
    typedef struct SCIP_Regression SCIP_REGRESSION
     
    typedef struct SCIP_DisjointSet SCIP_DISJOINTSET
     
    typedef struct SCIP_RowPrep SCIP_ROWPREP
     

    Enumerations

    enum  SCIP_Confidencelevel {
      SCIP_CONFIDENCELEVEL_MIN = 0 ,
      SCIP_CONFIDENCELEVEL_LOW = 1 ,
      SCIP_CONFIDENCELEVEL_MEDIUM = 2 ,
      SCIP_CONFIDENCELEVEL_HIGH = 3 ,
      SCIP_CONFIDENCELEVEL_MAX = 4
    }
     
    enum  SCIP_Hashmaptype {
      SCIP_HASHMAPTYPE_UNKNOWN = 0 ,
      SCIP_HASHMAPTYPE_POINTER = 1 ,
      SCIP_HASHMAPTYPE_REAL = 2 ,
      SCIP_HASHMAPTYPE_INT = 3 ,
      SCIP_HASHMAPTYPE_LONG = 4
    }
     

    Macro Definition Documentation

    ◆ SCIP_DECL_SORTINDCOMP

    #define SCIP_DECL_SORTINDCOMP (   x)    int x (void* dataptr, int ind1, int ind2)

    compares two element indices result: < 0: ind1 comes before (is better than) ind2 = 0: both indices have the same value

    ‍0: ind2 comes after (is worse than) ind2

    Definition at line 181 of file type_misc.h.

    ◆ SCIP_DECL_SORTPTRCOMP

    #define SCIP_DECL_SORTPTRCOMP (   x)    int x (void* elem1, void* elem2)

    compares two data element pointers result: < 0: elem1 comes before (is better than) elem2 = 0: both elements have the same value

    ‍0: elem2 comes after (is worse than) elem2

    Definition at line 189 of file type_misc.h.

    ◆ SCIP_DECL_HASHGETKEY

    #define SCIP_DECL_HASHGETKEY (   x)    void* x (void* userptr, void* elem)

    gets the key of the given element

    Definition at line 192 of file type_misc.h.

    ◆ SCIP_DECL_HASHKEYEQ

    #define SCIP_DECL_HASHKEYEQ (   x)    SCIP_Bool x (void* userptr, void* key1, void* key2)

    returns TRUE iff both keys are equal

    Definition at line 195 of file type_misc.h.

    ◆ SCIP_DECL_HASHKEYVAL

    #define SCIP_DECL_HASHKEYVAL (   x)    uint64_t x (void* userptr, void* key)

    returns the hash value of the key

    Definition at line 198 of file type_misc.h.

    ◆ SCIP_DECL_NEWTONEVAL

    #define SCIP_DECL_NEWTONEVAL (   x)    SCIP_Real x (SCIP_Real point, SCIP_Real* params, int nparams)

    evaluates the real function at the given point, used for Newton Procedure input: point: the point where the function is evaluated params: an array of parameters that the function depends on (e.g. f(x) = a*x + b) nparams: the number of parameters stored in params

    Definition at line 206 of file type_misc.h.

    ◆ SCIP_DECL_PQUEUEELEMCHGPOS

    #define SCIP_DECL_PQUEUEELEMCHGPOS (   x)    void x (void* elem, int oldpos, int newpos)

    callback to act on position change of elem in priority queue

    Definition at line 209 of file type_misc.h.

    Typedef Documentation

    ◆ SCIP_CONFIDENCELEVEL

    Definition at line 53 of file type_misc.h.

    ◆ SCIP_HASHMAPTYPE

    Definition at line 64 of file type_misc.h.

    ◆ SCIP_SPARSESOL

    Sparse solution data structure

    Definition at line 70 of file type_misc.h.

    ◆ SCIP_QUEUE

    typedef struct SCIP_Queue SCIP_QUEUE

    (circular) Queue data structure

    Definition at line 76 of file type_misc.h.

    ◆ SCIP_PQUEUE

    typedef struct SCIP_PQueue SCIP_PQUEUE

    Priority queue data structure

    Definition at line 82 of file type_misc.h.

    ◆ SCIP_HASHTABLE

    Hash table data structure

    Definition at line 88 of file type_misc.h.

    ◆ SCIP_MULTIHASH

    Hash table data structure which allows multiple occurences of an element

    Definition at line 94 of file type_misc.h.

    ◆ SCIP_MULTIHASHLIST

    Hash table element list to store single elements of a multi hash table

    Definition at line 97 of file type_misc.h.

    ◆ SCIP_HASHMAPENTRY

    Hash map entry

    Definition at line 100 of file type_misc.h.

    ◆ SCIP_HASHMAP

    typedef struct SCIP_HashMap SCIP_HASHMAP

    Hash map data structure

    Definition at line 106 of file type_misc.h.

    ◆ SCIP_HASHSET

    typedef struct SCIP_HashSet SCIP_HASHSET

    Hash set data structure

    Definition at line 112 of file type_misc.h.

    ◆ SCIP_REALARRAY

    dynamic array for storing SCIP_Real values

    Definition at line 115 of file type_misc.h.

    ◆ SCIP_INTARRAY

    typedef struct SCIP_IntArray SCIP_INTARRAY

    dynamic array for storing int values

    Definition at line 118 of file type_misc.h.

    ◆ SCIP_BOOLARRAY

    dynamic array for storing SCIP_Bool values

    Definition at line 121 of file type_misc.h.

    ◆ SCIP_PTRARRAY

    typedef struct SCIP_PtrArray SCIP_PTRARRAY

    dynamic array for storing pointers

    Definition at line 124 of file type_misc.h.

    ◆ SCIP_RANDNUMGEN

    random number generator

    Definition at line 127 of file type_misc.h.

    ◆ SCIP_RESOURCEACTIVITY

    Resource activity data structure

    Definition at line 133 of file type_misc.h.

    ◆ SCIP_PROFILE

    typedef struct SCIP_Profile SCIP_PROFILE

    Resource profile data structure

    Definition at line 139 of file type_misc.h.

    ◆ SCIP_DIGRAPH

    typedef struct SCIP_Digraph SCIP_DIGRAPH

    Directed graph data structure (stored as adjacency list)

    Definition at line 145 of file type_misc.h.

    ◆ SCIP_BT

    typedef struct SCIP_Bt SCIP_BT

    Binary tree data structure

    Definition at line 151 of file type_misc.h.

    ◆ SCIP_BTNODE

    typedef struct SCIP_BtNode SCIP_BTNODE

    search node of binary tree

    Definition at line 154 of file type_misc.h.

    ◆ SCIP_REGRESSION

    regression data structure to compute an incremental linear regression of paired observations

    Definition at line 160 of file type_misc.h.

    ◆ SCIP_DISJOINTSET

    disjoint set (disjoint set (union find)) data structure for querying and updating connectedness of a graph with integer vertices 0,...,n - 1

    Definition at line 166 of file type_misc.h.

    ◆ SCIP_ROWPREP

    typedef struct SCIP_RowPrep SCIP_ROWPREP

    a linear inequality row in preparation to become a SCIP_ROW

    Used to assemble data that could eventually make a SCIP_ROW.

    Note
    Only one-sided rows are allowed here.

    Definition at line 173 of file type_misc.h.

    Enumeration Type Documentation

    ◆ SCIP_Confidencelevel

    represents different confidence levels for (one-sided) hypothesis testing; in order to obtain two-sided confidence levels, calculate 2 * c - 1, i.e., if the one-sided confidence level is 90 %, the two-sided level is 80 %

    Enumerator
    SCIP_CONFIDENCELEVEL_MIN 

    one-sided confidence level 75 %, two-sided 50 %

    SCIP_CONFIDENCELEVEL_LOW 

    (one-sided) confidence level 87.5 %, two-sided 75 %

    SCIP_CONFIDENCELEVEL_MEDIUM 

    (one-sided) confidence level 90 %, two-sided 80 %

    SCIP_CONFIDENCELEVEL_HIGH 

    (one-sided) confidence level 95 %, two-sided 90 %

    SCIP_CONFIDENCELEVEL_MAX 

    (one-sided) confidence level 97.5 %, two-sided 95 %

    Definition at line 45 of file type_misc.h.

    ◆ SCIP_Hashmaptype

    type of hashmap: are pointers, reals or ints stored, or unknown

    Enumerator
    SCIP_HASHMAPTYPE_UNKNOWN 

    the hashmap did not store a single element yet, type unknown

    SCIP_HASHMAPTYPE_POINTER 

    the hashmap stores pointers %

    SCIP_HASHMAPTYPE_REAL 

    the hashmap stores reals

    SCIP_HASHMAPTYPE_INT 

    the hashmap stores ints

    SCIP_HASHMAPTYPE_LONG 

    the hashmap stores long ints

    Definition at line 56 of file type_misc.h.