CMR  1.3.0
Classes | Typedefs | Functions
one_sum.c File Reference
#include "one_sum.h"
#include <assert.h>
#include <stdlib.h>
#include <math.h>
#include <limits.h>
#include "env_internal.h"

Classes

struct  GraphNode
 

Typedefs

typedef struct GraphNode GRAPH_NODE
 

Functions

CMR_ERROR decomposeOneSum (CMR *cmr, CMR_MATRIX *matrix, size_t matrixType, size_t targetType, size_t *pnumComponents, CMR_ONESUM_COMPONENT **pcomponents, size_t *rowsToComponents, size_t *columnsToComponents, size_t *rowsToComponentRows, size_t *columnsToComponentColumns)
 Decomposes int matrix into 1-connected submatrices. More...
 

Typedef Documentation

◆ GRAPH_NODE

typedef struct GraphNode GRAPH_NODE

Function Documentation

◆ decomposeOneSum()

CMR_ERROR decomposeOneSum ( CMR cmr,
CMR_MATRIX matrix,
size_t  matrixType,
size_t  targetType,
size_t *  pnumComponents,
CMR_ONESUM_COMPONENT **  components,
size_t *  rowsToComponents,
size_t *  columnsToComponents,
size_t *  rowsToComponentRows,
size_t *  columnsToComponentColumns 
)

Decomposes int matrix into 1-connected submatrices.

Allocates an array components with an entry per 1-connected submatrix. The caller has to free this array and its members.

Parameters
cmrCMR environment
matrixMatrix
matrixTypeSize of base type of matrix.
targetTypeSize of base type of component matrices.
pnumComponentsPointer for storing the number of components.
pcomponentsPointer for storing the array with component information.
rowsToComponentsMapping of rows of matrix to components (may be NULL).
columnsToComponentsMapping of columns of matrix to components (may be NULL).
rowsToComponentRowsMapping of rows to rows of the component (may be NULL).
columnsToComponentColumnsMapping of columns to columns of the component (may be NULL).