CMR  1.3.0
Classes | Functions
dec_internal.h File Reference
#include <cmr/dec.h>
#include <cmr/matroid.h>
#include <cmr/series_parallel.h>

Go to the source code of this file.

Classes

struct  _CMR_DEC
 

Functions

CMR_ERROR CMRdecCreate (CMR *cmr, CMR_DEC *parent, size_t numRows, size_t *rowsParent, size_t numColumns, size_t *columnsParent, CMR_DEC **pdec)
 Creates a decomposition node. More...
 
CMR_ERROR CMRdecInheritMatrices (CMR *cmr, CMR_DEC *node)
 Construct matrix and tranpose based on rowsParent and columnsParent. More...
 
CMR_ERROR CMRdecSetNumChildren (CMR *cmr, CMR_DEC *node, size_t numChildren)
 Sets the number of child nodes and allocates memory. More...
 
CMR_ERROR CMRdecComputeRegularity (CMR_DEC *node)
 Traverses decomposition tree to decide if node is regular, graphic or cographic. More...
 
CMR_ERROR CMRdecTranslateMinorToParent (CMR_DEC *node, CMR_MINOR *minor)
 Translate the rows/columns of minor to the parent of node. More...
 
CMR_ERROR CMRdecApplySeparation (CMR *cmr, CMR_DEC *dec, CMR_SEPA *sepa)
 Turns the given node into one for the given separation. More...
 
CMR_ERROR CMRdecPrintSequenceNested3ConnectedMinors (CMR *cmr, CMR_DEC *dec, FILE *stream)
 Prints the sequence of nested 3-connected minors for the matrix of a decomposition node. More...
 

Function Documentation

◆ CMRdecApplySeparation()

CMR_ERROR CMRdecApplySeparation ( CMR cmr,
CMR_DEC dec,
CMR_SEPA sepa 
)

Turns the given node into one for the given separation.

The given separation is stored in dec and will be free'd together with it.

Parameters
cmrCMR environment.
decDecomposition node.
sepaSeparation.

◆ CMRdecComputeRegularity()

CMR_ERROR CMRdecComputeRegularity ( CMR_DEC node)

Traverses decomposition tree to decide if node is regular, graphic or cographic.

Parameters
nodeDecomposition node.

◆ CMRdecCreate()

CMR_ERROR CMRdecCreate ( CMR cmr,
CMR_DEC parent,
size_t  numRows,
size_t *  rowsParent,
size_t  numColumns,
size_t *  columnsParent,
CMR_DEC **  pdec 
)

Creates a decomposition node.

Parameters
cmrCMR environment.
parentParent decomposition node.
numRowsLength of rowElements.
rowsParentArray for mapping rows to rows of parent.
numColumnsLength of columnsParent.
columnsParentArray for mapping columns to columns of parent.
pdecPointer for storing the created decomposition node.

◆ CMRdecInheritMatrices()

CMR_ERROR CMRdecInheritMatrices ( CMR cmr,
CMR_DEC node 
)

Construct matrix and tranpose based on rowsParent and columnsParent.

Parameters
cmrCMR environment.
nodeDecomposition node.

◆ CMRdecPrintSequenceNested3ConnectedMinors()

CMR_ERROR CMRdecPrintSequenceNested3ConnectedMinors ( CMR cmr,
CMR_DEC dec,
FILE *  stream 
)

Prints the sequence of nested 3-connected minors for the matrix of a decomposition node.

Parameters
cmrCMR environment.
decDecomposition node.
streamStream to print to.

◆ CMRdecSetNumChildren()

CMR_ERROR CMRdecSetNumChildren ( CMR cmr,
CMR_DEC node,
size_t  numChildren 
)

Sets the number of child nodes and allocates memory.

Parameters
cmrCMR environment.
nodeDecomposition node.
numChildrenNumber of children.

◆ CMRdecTranslateMinorToParent()

CMR_ERROR CMRdecTranslateMinorToParent ( CMR_DEC node,
CMR_MINOR minor 
)

Translate the rows/columns of minor to the parent of node.

Parameters
nodeDecomposition node.
minorMinor to translate.