CMR  1.3.0
Functions
regularity_onesum.c File Reference
#include <cmr/regular.h>
#include <assert.h>
#include <stdlib.h>
#include "env_internal.h"
#include "matroid_internal.h"
#include "regularity_internal.h"
#include "sort.h"
#include "block_decomposition.h"

Functions

int compareOneSumComponents (const void *a, const void *b)
 
CMR_ERROR CMRregularitySearchOneSum (CMR *cmr, DecompositionTask *task, DecompositionQueue *queue)
 Performs a 1-sum decomposition of matrix and stores it in dec. More...
 

Function Documentation

◆ CMRregularitySearchOneSum()

CMR_ERROR CMRregularitySearchOneSum ( CMR cmr,
DecompositionTask task,
DecompositionQueue queue 
)

Performs a 1-sum decomposition of matrix and stores it in dec.

If matrix is 1-connected, then dec remains unchanged. Otherwise, dec will become a CMR_MATROID_DEC_TYPE_ONE_SUM node with children that are initialized to the 1-connected components. In this case, the matrix and transpose members of the child nodes are set.

Parameters
cmrCMR environment.
taskTask to be processed; already removed from the list of unprocessed tasks.
queueQueue of unprocessed nodes.

◆ compareOneSumComponents()

int compareOneSumComponents ( const void *  a,
const void *  b 
)