paso::Pattern Struct Reference

`#include <Pattern.h>`

Inheritance diagram for paso::Pattern:

## Public Member Functions

| Pattern (int type, dim_t numOutput, dim_t numInput, index_t *ptr, index_t *index)
| ~Pattern ()
Pattern_ptr | unrollBlocks (int newType, dim_t outputBlockSize, dim_t inputBlockSize)
Pattern_ptr | getSubpattern (dim_t newNumRows, dim_t newNumCols, const index_t *rowList, const index_t *newColIndex) const
void | mis (index_t *mis_marker) const
| Searches for a maximal independent set MIS in the matrix pattern. More...
void | reduceBandwidth (index_t *oldToNew)
Pattern_ptr | multiply (int type, const_Pattern_ptr other) const
Pattern_ptr | binop (int type, const_Pattern_ptr other) const
index_t * | borrowMainDiagonalPointer ()
index_t * | borrowColoringPointer ()
dim_t | getBandwidth (index_t *label) const
bool | isEmpty () const
dim_t | getNumColors ()
dim_t | maxDeg () const

## Static Public Member Functions

static Pattern_ptr | fromIndexListArray (dim_t n0, dim_t n, const escript::IndexList *index_list_array, index_t range_min, index_t range_max, index_t index_offset)

## Public Attributes

int | type
dim_t | numOutput
dim_t | numInput
dim_t | len
index_t * | ptr
index_t * | index
index_t * | main_iptr
dim_t | numColors
index_t * | coloring

## Constructor & Destructor Documentation

## Pattern()

paso::Pattern::Pattern | ( | int | type,
|  | dim_t | numOutput,
|  | dim_t | numInput,
|  | index_t * | ptr,
|  | index_t * | index
| ) |  |

References paso::util::comparIndex(), len, MATRIX_FORMAT_OFFSET1, numOutput, and ptr.

Referenced by fromIndexListArray(), getSubpattern(), and unrollBlocks().

## ~Pattern()

paso::Pattern::~Pattern | ( |  | ) |

References coloring, index, main_iptr, and ptr.

## Member Function Documentation

## binop()

Pattern_ptr paso::Pattern::binop | ( | int | type,
|  | const_Pattern_ptr | other
| ) |  | const

References fromIndexListArray(), index, numInput, numOutput, and ptr.

## borrowColoringPointer()

index_t * paso::Pattern::borrowColoringPointer | ( |  | ) |

References coloring, paso::util::isAny(), mis(), numColors, numInput, and numOutput.

Referenced by getNumColors().

## borrowMainDiagonalPointer()

index_t * paso::Pattern::borrowMainDiagonalPointer | ( |  | ) |

References paso::util::comparIndex(), index, main_iptr, numOutput, and ptr.

## fromIndexListArray()

Pattern_ptr paso::Pattern::fromIndexListArray | ( | dim_t | n0,
|  | dim_t | n,
|  | const escript::IndexList * | index_list_array,
|  | index_t | range_min,
|  | index_t | range_max,
|  | index_t | index_offset
| ) |  |

static

References escript::IndexList::count(), index, MATRIX_FORMAT_DEFAULT, Pattern(), ptr, and escript::IndexList::toArray().

Referenced by binop(), paso::SparseMatrix::getTranspose(), multiply(), dudley::DudleyDomain::optimizeDOFLabeling(), and finley::FinleyDomain::optimizeDOFLabeling().

## getBandwidth()

dim_t paso::Pattern::getBandwidth | ( | index_t * | label | ) | const

References index, numOutput, and ptr.

Referenced by reduceBandwidth().

## getNumColors()

dim_t paso::Pattern::getNumColors | ( |  | ) |

inline

References borrowColoringPointer(), and numColors.

## getSubpattern()

Pattern_ptr paso::Pattern::getSubpattern | ( | dim_t | newNumRows,
|  | dim_t | newNumCols,
|  | const index_t * | rowList,
|  | const index_t * | newColIndex
| ) |  | const

References paso::util::cumsum(), index, MATRIX_FORMAT_OFFSET1, Pattern(), ptr, and type.

## isEmpty()

bool paso::Pattern::isEmpty | ( |  | ) | const

inline

## maxDeg()

dim_t paso::Pattern::maxDeg | ( |  | ) | const

inline

References numInput.

## mis()

void paso::Pattern::mis | ( | index_t * | mis_marker | ) | const

Searches for a maximal independent set MIS in the matrix pattern.

References index, IS_AVAILABLE, IS_CONNECTED_TO_MIS, IS_IN_MIS, IS_IN_MIS_NOW, paso::util::isAny(), MATRIX_FORMAT_OFFSET1, numInput, numOutput, ptr, and type.

Referenced by borrowColoringPointer().

## multiply()

Pattern_ptr paso::Pattern::multiply | ( | int | type,
|  | const_Pattern_ptr | other
| ) |  | const

References fromIndexListArray(), index, numOutput, and ptr.

## reduceBandwidth()

void paso::Pattern::reduceBandwidth | ( | index_t * | oldToNew | ) |

References paso::comparDegreeAndIdx(), paso::DegreeAndIdx::deg, paso::dropTree(), ESYS_ASSERT, getBandwidth(), paso::DegreeAndIdx::idx, paso::N, numInput, numOutput, and ptr.

## unrollBlocks()

Pattern_ptr paso::Pattern::unrollBlocks | ( | int | newType,
|  | dim_t | outputBlockSize,
|  | dim_t | inputBlockSize
| ) |  |

References index, len, MATRIX_FORMAT_OFFSET1, numInput, numOutput, Pattern(), ptr, and type.

## Member Data Documentation

## coloring

index_t* paso::Pattern::coloring

Referenced by borrowColoringPointer(), and ~Pattern().

## index

index_t* paso::Pattern::index

Referenced by binop(), borrowMainDiagonalPointer(), paso::dropTree(), fromIndexListArray(), getBandwidth(), getSubpattern(), mis(), multiply(), unrollBlocks(), and ~Pattern().

## len

dim_t paso::Pattern::len

Referenced by Pattern(), and unrollBlocks().

## main_iptr

index_t* paso::Pattern::main_iptr

Referenced by borrowMainDiagonalPointer(), and ~Pattern().

## numColors

dim_t paso::Pattern::numColors

Referenced by borrowColoringPointer(), and getNumColors().

## numInput

dim_t paso::Pattern::numInput

Referenced by binop(), borrowColoringPointer(), paso::dropTree(), maxDeg(), mis(), reduceBandwidth(), and unrollBlocks().

## numOutput

dim_t paso::Pattern::numOutput

Referenced by binop(), borrowColoringPointer(), borrowMainDiagonalPointer(), getBandwidth(), mis(), multiply(), Pattern(), reduceBandwidth(), and unrollBlocks().

## ptr

index_t* paso::Pattern::ptr

Referenced by binop(), borrowMainDiagonalPointer(), paso::dropTree(), fromIndexListArray(), getBandwidth(), getSubpattern(), mis(), multiply(), Pattern(), reduceBandwidth(), unrollBlocks(), and ~Pattern().

## type

int paso::Pattern::type

Referenced by getSubpattern(), mis(), and unrollBlocks().

The documentation for this struct was generated from the following files:

- Pattern.h
- Pattern.cpp
- Pattern_mis.cpp
- Pattern_reduceBandwidth.cpp