Template Class RCMReorder

Inheritance Relationships

Base Type

Class Documentation

template<typename IDType, typename NNZType, typename ValueType>
class sparsebase::reorder::RCMReorder : public sparsebase::reorder::Reorderer<IDType>

Reordering using the Reverse Cuthill-McKee algorithm: https://en.wikipedia.org/wiki/Cuthill%E2%80%93McKee_algorithm

Public Types

typedef RCMReorderParams ParamsType

An empty struct used for the parameters of RCMReorder.

Public Functions

RCMReorder()
RCMReorder(ParamsType p)

Protected Static Functions

static IDType peripheral(NNZType *xadj, IDType *adj, IDType n, IDType start, SignedID *distance, IDType *Q)
static IDType *GetReorderCSR(std::vector<format::Format*> formats, utils::Parameters*)

An implementation function that will reorder a CSR format.

Parameters
  • formats – a vector containing a single Format object of type CSR

  • params – a polymorphic pointer at a RCMReorderParams object

Returns

an inverse permutation of the input format; an array of size format.get_dimensions()[0] where the ith element is the order of the ith element in the original format object