Scippy

SCIP

Solving Constraint Integer Programs

SCIP_Hypergraph Struct Reference

Detailed Description

a hypergraph with vertices, edges and overlaps of edge pairs

Definition at line 45 of file struct_hypergraph.h.

#include <struct_hypergraph.h>

Data Fields

BMS_BLKMEMblkmem
 
size_t sizevertexdata
 
size_t sizeedgedata
 
size_t sizeoverlapdata
 
int nvertices
 
int nedges
 
int noverlaps
 
int memvertices
 
size_t * verticesdata
 
int memedges
 
size_t * edgesdata
 
int * edgesverticesbeg
 
int memedgesvertices
 
SCIP_HYPERGRAPH_EDGEedgesvertices
 
SCIP_Bool hasvertexedges
 
int memverticesedgesbeg
 
int * verticesedgesbeg
 
int memverticesedges
 
SCIP_HYPERGRAPH_VERTEXverticesedges
 
SCIP_Bool hasoverlaps
 
SCIP_HASHTABLEoverlaphashtable
 
int memoverlaps
 
int * overlapsverticesbeg
 
int memoverlapsvertices
 
SCIP_HYPERGRAPH_VERTEXoverlapsvertices
 
size_t * overlapsdata
 
int memedgesoverlapsbeg
 
int * edgesoverlapsbeg
 
int memedgesoverlaps
 
SCIP_HYPERGRAPH_OVERLAPedgesoverlaps
 
SCIP_Bool hasoverlapsedges
 
int memoverlapsedgesbeg
 
int * overlapsedgesbeg
 
int memoverlapsedges
 
SCIP_HYPERGRAPH_EDGEoverlapsedges
 
SCIP_Bool hasverticesoverlaps
 
int memverticesoverlapsbeg
 
int * verticesoverlapsbeg
 
int memverticesoverlaps
 
SCIP_HYPERGRAPH_OVERLAPverticesoverlaps
 

Field Documentation

◆ blkmem

◆ sizevertexdata

size_t SCIP_Hypergraph::sizevertexdata

Size (in bytes) of additional vertex data.

Definition at line 49 of file struct_hypergraph.h.

Referenced by ensureNumVertices(), SCIPhypergraphAddVertex(), SCIPhypergraphCreate(), SCIPhypergraphFree(), and SCIPhypergraphVertexData().

◆ sizeedgedata

size_t SCIP_Hypergraph::sizeedgedata

Size (in bytes) of additional edge data.

Definition at line 50 of file struct_hypergraph.h.

Referenced by ensureNumEdges(), SCIPhypergraphAddEdge(), SCIPhypergraphCreate(), SCIPhypergraphEdgeData(), and SCIPhypergraphFree().

◆ sizeoverlapdata

size_t SCIP_Hypergraph::sizeoverlapdata

Size (in bytes) of additional overlap data.

Definition at line 51 of file struct_hypergraph.h.

Referenced by ensureNumOverlaps(), SCIPhypergraphCreate(), SCIPhypergraphFree(), and SCIPhypergraphOverlapData().

◆ nvertices

◆ nedges

◆ noverlaps

◆ memvertices

int SCIP_Hypergraph::memvertices

Number of vertices for which memory is allocated.

Definition at line 57 of file struct_hypergraph.h.

Referenced by ensureNumVertices(), SCIPhypergraphComputeVerticesEdges(), SCIPhypergraphCreate(), and SCIPhypergraphFree().

◆ verticesdata

size_t* SCIP_Hypergraph::verticesdata

◆ memedges

int SCIP_Hypergraph::memedges

Number of edges for which memory is allocated.

Definition at line 59 of file struct_hypergraph.h.

Referenced by ensureNumEdges(), SCIPhypergraphCreate(), and SCIPhypergraphFree().

◆ edgesdata

size_t* SCIP_Hypergraph::edgesdata

◆ edgesverticesbeg

◆ memedgesvertices

int SCIP_Hypergraph::memedgesvertices

Number of edges' vertices for which memory is allocated.

Definition at line 63 of file struct_hypergraph.h.

Referenced by ensureNumEdgesVertices(), SCIPhypergraphCreate(), and SCIPhypergraphFree().

◆ edgesvertices

◆ hasvertexedges

◆ memverticesedgesbeg

int SCIP_Hypergraph::memverticesedgesbeg

Number of vertices for which memory is allocated for vertices' edges.

Definition at line 67 of file struct_hypergraph.h.

Referenced by SCIPhypergraphComputeVerticesEdges(), and SCIPhypergraphCreate().

◆ verticesedgesbeg

int* SCIP_Hypergraph::verticesedgesbeg

◆ memverticesedges

int SCIP_Hypergraph::memverticesedges

Number of incidences for which memory is allocated.

Definition at line 69 of file struct_hypergraph.h.

Referenced by SCIPhypergraphComputeVerticesEdges(), SCIPhypergraphCreate(), and SCIPhypergraphFree().

◆ verticesedges

◆ hasoverlaps

◆ overlaphashtable

SCIP_HASHTABLE* SCIP_Hypergraph::overlaphashtable

Hashtable for overlap sets.

Definition at line 73 of file struct_hypergraph.h.

Referenced by findOverlap(), SCIPhypergraphClear(), SCIPhypergraphComputeOverlaps(), SCIPhypergraphCreate(), and SCIPhypergraphFree().

◆ memoverlaps

int SCIP_Hypergraph::memoverlaps

Number of overlaps for which memory is allocated.

Definition at line 74 of file struct_hypergraph.h.

Referenced by ensureNumOverlaps(), SCIPhypergraphComputeOverlapsEdges(), SCIPhypergraphCreate(), and SCIPhypergraphFree().

◆ overlapsverticesbeg

◆ memoverlapsvertices

int SCIP_Hypergraph::memoverlapsvertices

Number of overlaps' vertices.

Definition at line 76 of file struct_hypergraph.h.

Referenced by ensureNumOverlapsVertices(), SCIPhypergraphCreate(), and SCIPhypergraphFree().

◆ overlapsvertices

◆ overlapsdata

size_t* SCIP_Hypergraph::overlapsdata

Array with overlaps' data.

Definition at line 78 of file struct_hypergraph.h.

Referenced by ensureNumOverlaps(), SCIPhypergraphCreate(), SCIPhypergraphFree(), and SCIPhypergraphOverlapData().

◆ memedgesoverlapsbeg

int SCIP_Hypergraph::memedgesoverlapsbeg

Memory allocated for edgesoverlapsbeg minus 1.

Definition at line 79 of file struct_hypergraph.h.

Referenced by SCIPhypergraphComputeOverlaps(), SCIPhypergraphCreate(), and SCIPhypergraphFree().

◆ edgesoverlapsbeg

int* SCIP_Hypergraph::edgesoverlapsbeg

◆ memedgesoverlaps

int SCIP_Hypergraph::memedgesoverlaps

Number of edges' overlaps for which memory is allocated.

Definition at line 81 of file struct_hypergraph.h.

Referenced by SCIPhypergraphComputeOverlaps(), SCIPhypergraphCreate(), and SCIPhypergraphFree().

◆ edgesoverlaps

SCIP_HYPERGRAPH_OVERLAP* SCIP_Hypergraph::edgesoverlaps

◆ hasoverlapsedges

◆ memoverlapsedgesbeg

int SCIP_Hypergraph::memoverlapsedgesbeg

Memory allocated for edgesOverlapsSlice minus 1.

Definition at line 85 of file struct_hypergraph.h.

Referenced by SCIPhypergraphComputeOverlapsEdges(), SCIPhypergraphCreate(), and SCIPhypergraphFree().

◆ overlapsedgesbeg

int* SCIP_Hypergraph::overlapsedgesbeg

◆ memoverlapsedges

int SCIP_Hypergraph::memoverlapsedges

Memory allocated for overlapsEdges.

Definition at line 87 of file struct_hypergraph.h.

Referenced by SCIPhypergraphComputeOverlapsEdges(), SCIPhypergraphCreate(), and SCIPhypergraphFree().

◆ overlapsedges

SCIP_HYPERGRAPH_EDGE* SCIP_Hypergraph::overlapsedges

Array with overlaps' incident edges.

Definition at line 88 of file struct_hypergraph.h.

Referenced by SCIPhypergraphComputeOverlapsEdges(), SCIPhypergraphCreate(), SCIPhypergraphFree(), and SCIPhypergraphOverlapsEdgesGetAtIndex().

◆ hasverticesoverlaps

◆ memverticesoverlapsbeg

int SCIP_Hypergraph::memverticesoverlapsbeg

Memory allocated for verticesOverlapsSlice minus 1.

Definition at line 91 of file struct_hypergraph.h.

Referenced by SCIPhypergraphComputeVerticesOverlaps(), SCIPhypergraphCreate(), and SCIPhypergraphFree().

◆ verticesoverlapsbeg

int* SCIP_Hypergraph::verticesoverlapsbeg

◆ memverticesoverlaps

int SCIP_Hypergraph::memverticesoverlaps

Memory allocated for verticesOverlaps.

Definition at line 93 of file struct_hypergraph.h.

Referenced by SCIPhypergraphComputeVerticesOverlaps(), SCIPhypergraphCreate(), and SCIPhypergraphFree().

◆ verticesoverlaps

SCIP_HYPERGRAPH_OVERLAP* SCIP_Hypergraph::verticesoverlaps

Array with vertices' incident overlaps.

Definition at line 94 of file struct_hypergraph.h.

Referenced by SCIPhypergraphComputeVerticesOverlaps(), SCIPhypergraphCreate(), SCIPhypergraphFree(), and SCIPhypergraphVertexOverlapsGetAtIndex().